Введите значение свойства в поле аннотации - PullRequest
0 голосов
/ 28 ноября 2018

Я разрабатываю свой API отдыха, и я хотел бы иметь динамический список конечных точек.Я использую следующий подход:

@Controller("/")
public class Resource {

    @PostMapping(path = {"request1", "request2"})
    public Mono<ResponseEntity> postData(ServerHttpRequest request) {
        return Mono.fromSupplier(() -> ResponseEntity.ok().build());
    }
}

Поэтому я хотел бы знать, можно ли динамически получать значения для поля пути PostMapping из свойств?

Заранее спасибо

1 Ответ

0 голосов
/ 28 ноября 2018

Попробуйте:

@RestController
public class Resource {
    @Value("${helloworld.endpoints}") String endpoints = "";

    @GetMapping(value = "/maybe/{wildcard}")
    public Mono<ResponseEntity> post(@PathVariable(value = "wildcard") String path) {
        boolean ok = Arrays.asList(endpoints.split(";")).contains(path);
        if (ok)
            return Mono.fromSupplier(() -> ResponseEntity.ok().build());
        else
            return Mono.fromSupplier(() -> ResponseEntity.notFound().build());
    }
}

application.properties:

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