/** * Create a {@link RequestMappingInfo} from the supplied * {@link RequestMapping @RequestMapping} annotation, which is either * a directly declared annotation, a meta-annotation, or the synthesized * result of merging annotation attributes within an annotation hierarchy. */ protected RequestMappingInfo createRequestMappingInfo( RequestMapping requestMapping, @Nullable RequestCondition<?> customCondition) { RequestMappingInfo.Builder builder = RequestMappingInfo .paths(resolveEmbeddedValuesInPatterns(requestMapping.path())) .methods(requestMapping.method()) .params(requestMapping.params()) .headers(requestMapping.headers()) .consumes(requestMapping.consumes()) .produces(requestMapping.produces()) .mappingName(requestMapping.name()); if (customCondition != null) { builder.customCondition(customCondition); } return builder.options(this.config).build(); }
/** * Create a {@link RequestMappingInfo} from the supplied * {@link RequestMapping @RequestMapping} annotation, which is either * a directly declared annotation, a meta-annotation, or the synthesized * result of merging annotation attributes within an annotation hierarchy. */ protected RequestMappingInfo createRequestMappingInfo( RequestMapping requestMapping, @Nullable RequestCondition<?> customCondition) { RequestMappingInfo.Builder builder = RequestMappingInfo .paths(resolveEmbeddedValuesInPatterns(requestMapping.path())) .methods(requestMapping.method()) .params(requestMapping.params()) .headers(requestMapping.headers()) .consumes(requestMapping.consumes()) .produces(requestMapping.produces()) .mappingName(requestMapping.name()); if (customCondition != null) { builder.customCondition(customCondition); } return builder.options(this.config).build(); }
/** * Create a {@link RequestMappingInfo} from the supplied * {@link RequestMapping @RequestMapping} annotation, which is either * a directly declared annotation, a meta-annotation, or the synthesized * result of merging annotation attributes within an annotation hierarchy. */ protected RequestMappingInfo createRequestMappingInfo( RequestMapping requestMapping, @Nullable RequestCondition<?> customCondition) { RequestMappingInfo.Builder builder = RequestMappingInfo .paths(resolveEmbeddedValuesInPatterns(requestMapping.path())) .methods(requestMapping.method()) .params(requestMapping.params()) .headers(requestMapping.headers()) .consumes(requestMapping.consumes()) .produces(requestMapping.produces()) .mappingName(requestMapping.name()); if (customCondition != null) { builder.customCondition(customCondition); } return builder.options(this.config).build(); }
@Override protected RequestMappingInfo getMappingForMethod(Method method, Class<?> handlerType) { RequestMapping annot = AnnotationUtils.findAnnotation(method, RequestMapping.class); if (annot != null) { return new RequestMappingInfo( new PatternsRequestCondition(annot.value(), getUrlPathHelper(), getPathMatcher(), true, true), new RequestMethodsRequestCondition(annot.method()), new ParamsRequestCondition(annot.params()), new HeadersRequestCondition(annot.headers()), new ConsumesRequestCondition(annot.consumes(), annot.headers()), new ProducesRequestCondition(annot.produces(), annot.headers()), null); } else { return null; } } }
@Override protected RequestMappingInfo getMappingForMethod(Method method, Class<?> handlerType) { RequestMapping annot = AnnotatedElementUtils.findMergedAnnotation(method, RequestMapping.class); if (annot != null) { BuilderConfiguration options = new BuilderConfiguration(); options.setPatternParser(getPathPatternParser()); return paths(annot.value()).methods(annot.method()) .params(annot.params()).headers(annot.headers()) .consumes(annot.consumes()).produces(annot.produces()) .options(options).build(); } else { return null; } } }
@Override protected RequestMappingInfo getMappingForMethod(Method method, Class<?> handlerType) { RequestMapping annotation = AnnotatedElementUtils.findMergedAnnotation(method, RequestMapping.class); if (annotation != null) { return new RequestMappingInfo( new PatternsRequestCondition(annotation.value(), getUrlPathHelper(), getPathMatcher(), true, true), new RequestMethodsRequestCondition(annotation.method()), new ParamsRequestCondition(annotation.params()), new HeadersRequestCondition(annotation.headers()), new ConsumesRequestCondition(annotation.consumes(), annotation.headers()), new ProducesRequestCondition(annotation.produces(), annotation.headers()), null); } else { return null; } } }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { RequestMapping requestMapping = (RequestMapping) annotation; Operation operation = operationGenerator.getOperation(); // path/value是等同的 this.processPath(requestMapping.path(), operationGenerator); this.processPath(requestMapping.value(), operationGenerator); this.processMethod(requestMapping.method(), operationGenerator); this.processConsumes(requestMapping.consumes(), operation); this.processProduces(requestMapping.produces(), operation); if (StringUtils.isEmpty(operationGenerator.getHttpMethod()) && StringUtils.isEmpty(operationGenerator.getSwaggerGenerator().getHttpMethod())) { throw new Error("HttpMethod must not both be empty in class and method"); } }
@Override public void process(Object annotation, SwaggerGenerator swaggerGenerator) { RequestMapping requestMapping = (RequestMapping) annotation; Swagger swagger = swaggerGenerator.getSwagger(); this.processMethod(requestMapping.method(), swaggerGenerator); // path/value是等同的 this.processPath(requestMapping.path(), swaggerGenerator); this.processPath(requestMapping.value(), swaggerGenerator); this.processConsumes(requestMapping.consumes(), swagger); this.processProduces(requestMapping.produces(), swagger); }
for (String str : requestMapping.consumes()) { if (!consumes.contains(str)) { consumes.add(str);
private List<String> getConsumes(Method method, RequestMapping methodRequestMapping) { List<String> consumes = Arrays.asList(methodRequestMapping.consumes()); if(consumes.isEmpty()) { RequestMapping controllerRequestMapping = method.getDeclaringClass().getAnnotation(RequestMapping.class); if(controllerRequestMapping != null) { consumes = Arrays.asList(controllerRequestMapping.consumes()); } } return consumes; }
@Override protected List<String> consumedRepresentationsOf(final Method method) { final RequestMapping methodRequestMapping = findAnnotation(method, RequestMapping.class); final String[] consumes = methodRequestMapping.consumes(); return consumes != null ? asList(consumes) : Collections.<String>emptyList(); } }
@Override public void apply(ApiListingContext context) { Optional<? extends Class<?>> controller = context.getResourceGroup().getControllerClass(); if (controller.isPresent()) { RequestMapping annotation = findAnnotation(controller.get(), RequestMapping.class); if (annotation != null) { context.apiListingBuilder() .appendProduces(newArrayList(annotation.produces())) .appendConsumes(newArrayList(annotation.consumes())); } } }
private void parseConsumes(MethodMetadata md, Method method, RequestMapping annotation) { String[] serverConsumes = annotation.consumes(); String clientProduces = serverConsumes.length == 0 ? null : emptyToNull(serverConsumes[0]); if (clientProduces != null) { md.template().header(CONTENT_TYPE, clientProduces); } }
private void parseConsumes(MethodMetadata md, Method method, RequestMapping annotation) { String[] serverConsumes = annotation.consumes(); String clientProduces = serverConsumes.length == 0 ? null : emptyToNull(serverConsumes[0]); if (clientProduces != null) { md.template().header(CONTENT_TYPE, clientProduces); } }
private void parseConsumes(MethodMetadata md, Method method, RequestMapping annotation) { String[] serverConsumes = annotation.consumes(); String clientProduces = serverConsumes.length == 0 ? null : emptyToNull(serverConsumes[0]); if (clientProduces != null) { md.template().header(CONTENT_TYPE, clientProduces); } }
private void parseConsumes(MethodMetadata md, Method method, RequestMapping annotation) { String[] serverConsumes = annotation.consumes(); String clientProduces = serverConsumes.length == 0 ? null : emptyToNull(serverConsumes[0]); if (clientProduces != null) { md.template().header(CONTENT_TYPE, clientProduces); } }
@Override public void apply(ApiListingContext context) { RequestMapping annotation = findAnnotation(context.getResourceGroup().getControllerClass(), RequestMapping.class); if (annotation != null) { context.apiListingBuilder() .appendProduces(newArrayList(annotation.produces())) .appendConsumes(newArrayList(annotation.consumes())); } }
@Override public void process(Object annotation, SwaggerGenerator swaggerGenerator) { RequestMapping requestMapping = (RequestMapping) annotation; Swagger swagger = swaggerGenerator.getSwagger(); this.processMethod(requestMapping.method(), swaggerGenerator); // path/value是等同的 this.processPath(requestMapping.path(), swaggerGenerator); this.processPath(requestMapping.value(), swaggerGenerator); this.processConsumes(requestMapping.consumes(), swagger); this.processProduces(requestMapping.produces(), swagger); }
@Override public void process(Object annotation, SwaggerGenerator swaggerGenerator) { RequestMapping requestMapping = (RequestMapping) annotation; Swagger swagger = swaggerGenerator.getSwagger(); this.processMethod(requestMapping.method(), swaggerGenerator); // path/value是等同的 this.processPath(requestMapping.path(), swaggerGenerator); this.processPath(requestMapping.value(), swaggerGenerator); this.processConsumes(requestMapping.consumes(), swagger); this.processProduces(requestMapping.produces(), swagger); }