Я использую spring-boot-1.5.6. У меня есть контроллер внутри, у меня есть около 8 запросов сопоставления, которые имеют общие заголовки. Заголовки, упомянутые ниже, являются обязательными для большинства методов в контроллере, и упоминание всех заголовков выглядит некрасиво. Есть ли способ обобщения или пользовательской аннотации, чтобы я не хотел копировать заголовки во всех методах.
@RestController
public class RestController {
private static final Logger logger = LoggerFactory.getLogger(RestController.class);
/**
* Simply chooses a few headers, logs them and add them to model to
* showHeaders view to render to the user.
*/
@GetMapping(value="/showheaders")
public String getHeaders(
@RequestHeader(value="sample") String sample,
@RequestHeader(value="sample1") String sample1,
@RequestHeader(value="sample2") String sample2,
@RequestHeader(value="sample3") String sample3,
@RequestHeader(value="sample4") String sample4) {
logger.info("Inside getHeaders() method...");
logger.info("sample : " + sample);
logger.info("sample1 : " + sample1);
logger.info("sample2 : " + sample2);
logger.info("sample3 : " + sample3);
logger.info("sample4 : " + sample4);
}
Ожидаемое:
@RestController
public class RestController {
private static final Logger logger = LoggerFactory.getLogger(RestController.class);
/**
* Simply chooses a few headers, logs them and add them to model to
* showHeaders view to render to the user.
*/
@GetMapping(value="/showheaders")
public String getHeaders(@MyHeaders headers) {
logger.info("Inside getHeaders() method...");
logger.info("sample : " + sample);
logger.info("sample1 : " + sample1);
logger.info("sample2 : " + sample2);
logger.info("sample3 : " + sample3);
logger.info("sample4 : " + sample4);
}
Я знаю, что мы можем использовать @ RequestHeader Map headers , но в swagger я хотел бы видеть все параметры заголовков name.so, чтобы мы могли передавать все заголовки для методов. При использовании карты ничего не отображается в чванстве.
Любой намек или предложение будут заметны.