Я использую Spring 4.3.3 с встроенная поддержка HTTP HEAD и OPTIONS. Я определил свой REST API для поддержки только метода GET, но неявный метод OPTIONS возвращает другие методы HTTP: POST, GET, OPTIONS, HEAD.
Когда я вызываю API с помощью метода POST, я получаю ошибку HTTP 405, как и ожидалось. Почему неявный метод OPTIONS Spring возвращает неправильные заголовки ответа «Allow»?
Моя служба REST:
@Service
@Produces("application/json")
@Consumes("application/json")
@Path("/test")
public class TestJaxrs {
@GET
@Path("/testJaxrs")
public String test() {
return "test ok";
}
}
Фактический заголовок ответа:
Allow: POST, GET, OPTIONS, HEAD
Я ожидаю, что заголовок ответа будет:
Allow: GET
Почему вы используете JAX-RS API, когда у вас есть аннотации Spring RestController, GetMapping и т. д.?
@TinyOS, да, метод POST на URL / test / testJaxrs возвращает HTTP 405
@GauravSrivastav для класса TestJaxrs, я использую только аннотации JAX-RS и никаких аннотаций Spring, кроме Service. Аннотации Service требуется CXF JAX-RS для сканирования компонентов.




Вы пытаетесь вызвать "/ test / testJaxrs" с помощью POST?