Создайте упаковку для отдыха, которая принимает любые запросы - PullRequest
0 голосов
/ 12 января 2019

Я хочу построить оболочку rest в приложении с весенней загрузкой, которое принимает любые запросы (вызов API). Предположим, у меня есть два вызова API / employee / 123 (метод GET) / dept / 123 (метод PUT). Теперь, когда я получаю эти два запроса от клиента-почтальона, моя оболочка должна принимать эти два типа запросов.

Я пробовал это с фильтром и перехватчиком. Но это не сработало для меня. Может кто-нибудь, пожалуйста, объясните, как это сделать.

Ответы [ 2 ]

0 голосов
/ 12 января 2019

, если вы хотите принять любой запрос, такой как POST, GET, DELETE или PUT, не упоминайте метод RequestMethod в @RequestMapping, и если вы хотите выполнить другую операцию, зависит от метода запроса, используйте HttpServletRequest для получения ReuestMethod например.

@RequestMapping({ "/employee/{id}", "/dept/{id}" })
    public @ResponseBody String demo(HttpServletRequest request, @PathVariable("id") Integer id) {

        if (request.getMethod().equalsIgnoreCase("POST")) {
            return "POST MEhod";
        } else if (request.getMethod().equalsIgnoreCase("GET")) {
            return "GET Method";
        } else if (request.getMethod().equalsIgnoreCase("PUT")) {
            return "PUT Method";
        } else {
            return "DELETE Method";
        }

    }
0 голосов
/ 12 января 2019

Не совсем понятно, в чем твоя проблема. Это то, что вы ищете?

@RestController
public class SampleController {

    @GetMapping(path = "/employee/{id}")
    public String getEmployee(@PathVariable int id) {
       ....
    }

    @PutMapping(path = "/dept/{id}")
    public String putDept(@PathVariable int id) {
       ....
    }
}

Или вы хотите прокси API? Так что, возможно, имеет смысл взглянуть на Zuul или любой подобный проект?

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