SpringFox: разница между заголовком как параметром или аргументом - PullRequest
0 голосов
/ 11 июня 2019

Я разрабатываю API, у меня есть два варианта добавления заголовка: объявлено в конфиге bean:

@Bean
    public Docket api() {

         //Adding Header
        ParameterBuilder headerParameterBuilder = new ParameterBuilder();
        java.util.List<Parameter> headersParameters = new ArrayList<Parameter>();

        headersParameters.clear();

        headerParameterBuilder.name(Headers.TRACE_ID).description("ID of the whole trace forest").modelRef(new ModelRef("string")).parameterType("header").required(true).build();
        headersParameters.add(headerParameterBuilder.build());


        return new Docket(DocumentationType.SWAGGER_2).useDefaultResponseMessages(false).select()
                .apis(RequestHandlerSelectors.basePackage(swaggerResourcePackage)).paths(PathSelectors.any()).build()
                .apiInfo(new ApiInfo(swaggerTitle, swaggerDescription, swaggerVersion, "", null, "", "", Collections.emptyList()))
                .protocols( new HashSet<>(Arrays.asList("http","https")))
                .globalOperationParameters(headersParameters);
    }

или передано в качестве аргумента:

@ApiResponses(value = {
            @ApiResponse(code = 200, message = "Search Corporate information found", response = ResultSearch.class) })
    @GetMapping(path = "corporates", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "Search for corporates")
    public Object searchCorporate( @RequestHeader(value="TRACE_ID") String tracer) throws Exception {
 //TODO

    }

Как я понимаю, первый только для структурирования Swagger API, а второй для структурирования и проверки заголовка. У меня вопрос: что, если у меня есть общие заголовки для класса, как мне его спроектировать? с обязательной проверкой!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...