C динамическая длина строки

Можете ли вы рассмотреть следующие моменты в вашем проекте:

Проверьте, есть ли у вас аннотации Spring и Swagger в вашем классе Controller.

@RestController
@RequestMapping(value = "/order")
@ApiResponses({
        @ApiResponse(code = 400, message = "Bad Request"),
        @ApiResponse(code = 401, message = "Unauthorized"),
        @ApiResponse(code = 403, message = "Forbidden"),
        @ApiResponse(code = 404, message = "Not Found"),
        @ApiResponse(code = 415, message = "Unsupported Media Type"),
        @ApiResponse(code = 422, message = "Unprocessable Entity")
})
public class OrderController {
    // Controller class code.
}

Затем проверьте, есть ли у вашей конечной точки аннотации:

@PostMapping(
        value = "/v1/new",
        consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,
        produces = MediaType.APPLICATION_JSON_UTF8_VALUE
)
@ApiOperation(
        value = "Create new Order.",
        consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,
        produces = MediaType.APPLICATION_JSON_UTF8_VALUE,
)
public ResponseEntity newOrder(
        @RequestHeader(name = "Content-type", defaultValue = "application/json;charset=UTF-8")
        @NonNull final String contentType,
        @RequestBody @NotNull @Valid OrderDTO orderDTO) {
    // Endpoint code.
}

Конфигурация Swagger with SpringBoot:

[112 ]

Конфигурация Swagger without SpringBoot:

Добавьте: @Configuration, extends WebMvcConfigurationSupport и переопределите метод addResourceHandlers в своем классе SwaggerConfig.

@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport {

    @Bean
    public Docket api() {
        //...
    }

    private ApiInfo getApiInfo() {
        return new ApiInfo(
            //...
        );
    }

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");

        registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

Ссылка: Настройка Swagger 2 с помощью Spring REST API

5
задан Luca Matteis 22 March 2009 в 21:05
поделиться

4 ответа

Вы можете перевыделение к различным предопределенным размерам. Например, когда буфер полон, дважды его размер.

Используя связанный список хорошая идея, но данные не являются текущими (Вы не можете передать целую структуру printf, например), и индексация берет больше вычислений (O (N)). Главное преимущество состоит в том, что добавление представляет в виде строки (с обоих концов) O (1).

3
ответ дан 14 December 2019 в 09:01
поделиться

Я думаю, что Вы ищете Рассеяние - Собирают ввод-вывод, функция, которую Вы искали бы, будет readv ().

2
ответ дан 14 December 2019 в 09:01
поделиться

При использовании перевыделения (), не добавляйте постоянную сумму пространства на каждом перевыделении, потому что затем стоимость создания строки длины n будет O (n^2) (перевыделение, вероятно, выделит новый регион и скопирует данные там, т.е. его сложность не является постоянной, но O (n)). Самый легкий способ сделать это состоит в том, чтобы удвоить размер буфера на каждом перевыделении, затем амортизируемая стоимость все еще будет O (n).

1
ответ дан 14 December 2019 в 09:01
поделиться

Используя 32-байтовые средства блоков, что отношение между данными и наверху ужасно - у Вас есть свой указатель в связанном списке и по крайней мере (вероятно, намного больше) то же снова от средства выделения памяти. Я настоятельно рекомендовал бы выделить намного больший блок памяти и вырастил бы ее экспоненциально, чтобы соответствовать и видеть, вызывает ли это проблемы. Только если Вы встречаетесь, проблемы были бы я идти путем связанного списка.

1
ответ дан 14 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: