@parkito

Используются ли сервлеты в Spring REST?

Здравствуйте. Подскажите, пожалуйста, есть ли общая точка у Spring сервлетов и Spring rest. Мне нужно получать информацию как о запросах о HttpServletResponse, так и о ClientHttpResponse. Как я понял, данные спринговские обертки над стримами совершенно разные и не имеют общего механизма, к которому может обратиться прикладной разработчик. Правда ли это так?
  • Вопрос задан
  • 502 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Spring REST не существует. Есть Spring MVC, на котором можно реализовать REST-сервис. Он работает поверх Servlet API. И есть Spring Webflow, на котором реализовывать REST-сервисы ещё лучше, но он работает поверх Netty. Если вам нужен HttpServletResponse в Spring MVC просто добавьте аргумент этого типа в метод контроллера:
@Controller
public class SomeController {
    @RequestMapping(value = "/some-url/{someParam}", method = RequestMethod.GET)
    public String someMethod(@PathVariable String someParam, Model model, HttpServletResponse response) {
        return "some_template_name";
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zolt85
@zolt85
Программист
Мне кажется Вы тёплое с мягким перепутали ... Я вообще не понял про какие Spring сервлеты Вы говорите, и что есть Spring rest? И почемы Вы это называете "обертками над стримами"? Сервлеты в Spring есть, как минимум один - DispatcherServlet. Если Вы хотите иметь response и request в методе своего контроллера, то просто укажите их в сигнатуре метода
public void methodWithRequestAndResponse(HttpServletRequest request, HttpServletResponse response) { ... }

Spring такие вещи видит, и услужливо передает нужные переменные при вызове метода.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы