Package io.micronaut.web.router
Class DefaultStatusRouteInfo<T,R>
java.lang.Object
io.micronaut.web.router.DefaultRouteInfo<R>
io.micronaut.web.router.DefaultRequestMatcher<T,R>
io.micronaut.web.router.DefaultStatusRouteInfo<T,R>
- Type Parameters:
T- The targetR- The result
- All Implemented Interfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider,io.micronaut.core.annotation.AnnotationSource,MethodBasedRouteInfo<T,,R> RequestMatcher,RouteInfo<R>,StatusRouteInfo<T,R>
@Internal
public final class DefaultStatusRouteInfo<T,R>
extends DefaultRequestMatcher<T,R>
implements StatusRouteInfo<T,R>
The default
StatusRouteInfo implementation.- Since:
- 4.0.0
-
Field Summary
Fields inherited from class io.micronaut.web.router.DefaultRouteInfo
annotationMetadata, consumesMediaTypes, consumesMediaTypesContainsAll, declaringType, definedStatus, isWebSocketRoute, producesMediaTypes, producesMediaTypesContainsAll, returnTypeFields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTYFields inherited from interface io.micronaut.web.router.RouteInfo
DEFAULT_PRODUCES -
Constructor Summary
ConstructorsConstructorDescriptionDefaultStatusRouteInfo(Class<?> originatingType, int statusCode, io.micronaut.inject.MethodExecutionHandle<T, R> targetMethod, @Nullable String bodyArgumentName, @Nullable io.micronaut.core.type.Argument<?> bodyArgument, List<io.micronaut.http.MediaType> consumesMediaTypes, List<io.micronaut.http.MediaType> producesMediaTypes, List<Predicate<io.micronaut.http.HttpRequest<?>>> predicates, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry) -
Method Summary
Modifier and TypeMethodDescriptionbooleanio.micronaut.http.HttpStatusfindStatus(io.micronaut.http.HttpStatus defaultStatus) Finds predefined route http status or uses default.String[]Optional<io.micronaut.core.type.Argument<?>>LikeRouteInfo.getRequestBodyType(), but excludes body arguments that may match only a part of the body (i.e.final io.micronaut.http.body.MessageBodyReader<?>Optional<io.micronaut.core.type.Argument<?>>inthashCode()booleanisVoid()match(int statusCode) Match the given HTTP status.match(io.micronaut.http.HttpStatus status) Match the given HTTP status.Match the given HTTP status.Match the given HTTP status.booleanClass<?>io.micronaut.http.bind.binders.RequestArgumentBinder<Object>[]resolveArgumentBinders(io.micronaut.http.bind.RequestBinderRegistry requestBinderRegistry) io.micronaut.http.HttpStatusstatus()inttoString()Methods inherited from class io.micronaut.web.router.DefaultRequestMatcher
matchingMethods inherited from class io.micronaut.web.router.DefaultRouteInfo
doesConsume, doesProduce, doesProduce, explicitlyConsumes, explicitlyProduces, getAnnotationMetadata, getConsumes, getDeclaringType, getExecutor, getMessageBodyWriter, getProduces, getResponseBodyType, getReturnType, isAsync, isAsyncOrReactive, isCompletable, isErrorRoute, isPermitsRequestBody, isReactive, isSingleResult, isSpecifiedSingle, isSuspended, isWebSocketRouteMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotationMetadata, getTargetAnnotationMetadata, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeDeclaredMethods inherited from interface io.micronaut.web.router.MethodBasedRouteInfo
getArgumentNames, getTargetMethod, resolveArgumentBindersMethods inherited from interface io.micronaut.web.router.RequestMatcher
matchingMethods inherited from interface io.micronaut.web.router.RouteInfo
doesConsume, doesProduce, doesProduce, explicitlyConsumes, explicitlyProduces, getBodyArgument, getBodyType, getConsumes, getDeclaringType, getExecutor, getFullRequestBodyType, getMessageBodyReader, getMessageBodyWriter, getProduces, getRequestBodyType, getResponseBodyType, getReturnType, isAsync, isAsyncOrReactive, isCompletable, isErrorRoute, isPermitsRequestBody, isReactive, isResponseBodyJsonFormattable, isSingleResult, isSpecifiedSingle, isSuspended, isVoid, isWebSocketRoute, needsRequestBody
-
Constructor Details
-
DefaultStatusRouteInfo
public DefaultStatusRouteInfo(Class<?> originatingType, int statusCode, io.micronaut.inject.MethodExecutionHandle<T, R> targetMethod, @Nullable @Nullable String bodyArgumentName, @Nullable @Nullable io.micronaut.core.type.Argument<?> bodyArgument, List<io.micronaut.http.MediaType> consumesMediaTypes, List<io.micronaut.http.MediaType> producesMediaTypes, List<Predicate<io.micronaut.http.HttpRequest<?>>> predicates, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.http.body.MessageBodyHandlerRegistry messageBodyHandlerRegistry)
-
-
Method Details
-
originatingType
- Specified by:
originatingTypein interfaceStatusRouteInfo<T,R> - Returns:
- The type the exception originates from. Null if the error route is global.
-
status
public io.micronaut.http.HttpStatus status()- Specified by:
statusin interfaceStatusRouteInfo<T,R> - Returns:
- The status
-
statusCode
public int statusCode()- Specified by:
statusCodein interfaceStatusRouteInfo<T,R> - Returns:
- The status
-
findStatus
public io.micronaut.http.HttpStatus findStatus(io.micronaut.http.HttpStatus defaultStatus) Description copied from interface:RouteInfoFinds predefined route http status or uses default.- Specified by:
findStatusin interfaceRouteInfo<T>- Overrides:
findStatusin classDefaultRouteInfo<R>- Parameters:
defaultStatus- The default status- Returns:
- The status
-
match
public Optional<RouteMatch<R>> match(Class<?> originatingClass, io.micronaut.http.HttpStatus status) Description copied from interface:StatusRouteInfoMatch the given HTTP status.- Specified by:
matchin interfaceStatusRouteInfo<T,R> - Parameters:
originatingClass- The class where the error originates fromstatus- The status to match- Returns:
- The route match
-
match
Description copied from interface:StatusRouteInfoMatch the given HTTP status.- Specified by:
matchin interfaceStatusRouteInfo<T,R> - Parameters:
status- The status to match- Returns:
- The route match
-
match
Description copied from interface:StatusRouteInfoMatch the given HTTP status.- Specified by:
matchin interfaceStatusRouteInfo<T,R> - Parameters:
statusCode- The status to match- Returns:
- The route match
-
match
Description copied from interface:StatusRouteInfoMatch the given HTTP status.- Specified by:
matchin interfaceStatusRouteInfo<T,R> - Parameters:
originatingClass- The class where the error originates fromstatusCode- The status to match- Returns:
- The route match
-
hashCode
public int hashCode() -
equals
-
toString
-
getMessageBodyReader
public final io.micronaut.http.body.MessageBodyReader<?> getMessageBodyReader()- Specified by:
getMessageBodyReaderin interfaceRouteInfo<T>- Returns:
- The message body reader. if any.
-
resolveArgumentBinders
public io.micronaut.http.bind.binders.RequestArgumentBinder<Object>[] resolveArgumentBinders(io.micronaut.http.bind.RequestBinderRegistry requestBinderRegistry) - Specified by:
resolveArgumentBindersin interfaceMethodBasedRouteInfo<T,R>
-
isVoid
public boolean isVoid()- Specified by:
isVoidin interfaceRouteInfo<T>- Overrides:
isVoidin classDefaultRouteInfo<R>- Returns:
- Does the route return void
-
getTargetMethod
- Specified by:
getTargetMethodin interfaceMethodBasedRouteInfo<T,R> - Returns:
- The
MethodExecutionHandle
-
getRequestBodyType
- Specified by:
getRequestBodyTypein interfaceRouteInfo<T>- Overrides:
getRequestBodyTypein classDefaultRouteInfo<R>- Returns:
- The argument that represents the body of the request
-
getFullRequestBodyType
Description copied from interface:RouteInfoLikeRouteInfo.getRequestBodyType(), but excludes body arguments that may match only a part of the body (i.e. that have no@Bodyannotation, or where the@Bodyhas a value set).- Specified by:
getFullRequestBodyTypein interfaceRouteInfo<T>- Returns:
- The argument that represents the body
-
getArgumentNames
- Specified by:
getArgumentNamesin interfaceMethodBasedRouteInfo<T,R>
-
needsRequestBody
public boolean needsRequestBody()- Specified by:
needsRequestBodyin interfaceRouteInfo<T>- Overrides:
needsRequestBodyin classDefaultRouteInfo<R>- Returns:
- true if the route needs request body to be read
-