To use a resolver to resolve complex parameter types in routes, you can register the resolver in the dependency injection container and associate it with the complex parameter type using the @http.resolveParameter
decorator. The resolver will then be used to provide the complex parameter type in route functions or methods.
Here is an example of how to use a resolver to resolve a complex parameter type in a route:
import { RouteParameterResolver, RouteParameterResolverContext, http } from '@deepkit/http'; class MyResolver implements RouteParameterResolver { async resolve(context: RouteParameterResolverContext) { // Resolve the complex parameter type here and return it } } class MyController { @http.GET('/myRoute') @http.resolveParameter(ComplexParameterType, MyResolver) myRoute(parameter: ComplexParameterType) { // Handle the complex parameter type here } }
In this example, the MyResolver
class implements the RouteParameterResolver
interface to define how to resolve the complex parameter type. The @http.resolveParameter
decorator is used to associate the resolver with the ComplexParameterType
. This allows Deepkit to automatically resolve the complex parameter type in the myRoute
method.