#axum #routing #handler #macro #typed

axum-typed-routing

Typed routing macros for axum

5 releases

0.2.1 Feb 23, 2024
0.2.0 Feb 10, 2024
0.1.2 Jan 5, 2024
0.1.1 Jan 5, 2024
0.1.0 Jan 5, 2024

#1436 in Web programming

Download history 127/week @ 2024-06-18 127/week @ 2024-06-25 90/week @ 2024-07-02 77/week @ 2024-07-09 140/week @ 2024-07-16 131/week @ 2024-07-23 170/week @ 2024-07-30 42/week @ 2024-08-06 139/week @ 2024-08-13 224/week @ 2024-08-20 41/week @ 2024-08-27 127/week @ 2024-09-03 82/week @ 2024-09-10 62/week @ 2024-09-17 51/week @ 2024-09-24 21/week @ 2024-10-01

216 downloads per month

MIT/Apache

18KB
155 lines

Crates.io Documentation

Axum-typed-routing

A library for creating statically-typed handlers in axum using macros, similar to Rocket with OpenAPI support using aide.

See the docs for more information.


lib.rs:

Basic usage

The following example demonstrates the basic usage of the library. On top of any regular handler, you can add the route macro to create a typed route. Any path- or query-parameters in the url will be type-checked at compile-time, and properly extracted into the handler.

The following example shows how the path parameter id, and query parameters amount and offset are type-checked and extracted into the handler.

Some valid url's as get-methods are:

  • /item/1?amount=2&offset=3
  • /item/1?amount=2
  • /item/1?offset=3
  • /item/500

By marking the amount and offset parameters as Option<T>, they become optional.

Example with aide

When the aide feature is enabled, it's possible to automatically generate OpenAPI documentation for the routes. The api_route macro is used in place of the route macro.

Please read the aide documentation for more information on usage.

Dependencies

~5–13MB
~130K SLoC