Параметры заголовка запроса не проверяются - PullRequest
0 голосов
/ 11 июня 2019

У меня есть приложение весенней загрузки, которое вызывает веб-сервисы с использованием REST: это пример моего звонка с конфигурациями бинов:

@ApiResponses(value = {
            @ApiResponse(code = 200, message = "", response = ResultSearch.class),
            @ApiResponse(code = 204, message = "No data found", response = Object.class),
            @ApiResponse(code = 404, message = ApiMessageResponse.HTTP_STATUS_CODE_404, response = ErrorModel.class),
            @ApiResponse(code = 400, message = ApiMessageResponse.HTTP_STATUS_CODE_400, response = ErrorModel.class) })
    @GetMapping(path = "corporates", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "Search for corporates")
    public Object searchCorporate(@RequestParam(name = "query") String query) throws Exception {

        return searchManagement.searchCorporates(search);

    } 

Бобы Spring Fox:

@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);
    }

Когдая выполняю запрос без заголовка 'TRACE_ID' в Swagger Document, он блокирует выполнение, что хорошо, но с помощью команды curl:

curl -X GET "http://localhost:8081/search/corporates?query=bddf" -H "accept: application/json;charset=UTF-8"

он прошел без проверки авторизации / требования заголовка !!я использую springfox.version 2.8.0 и springfoxui.version 2.9.2 Что не так в моей конфигурации для уверенной проверки заголовка запроса перед выполнением запроса

...