PageNotFound - Метод запроса 'GET' не поддерживается - PullRequest
0 голосов
/ 30 апреля 2020

Я получаю эту ошибку при вызове API от почтальона после размещения моего весеннего приложения в ВМ. Локально это работает. Но методы Get в моих виртуальных машинах работают.

[http-nio-8081-exe c -4] PageNotFound - Метод запроса 'GET' не поддерживается

Мой метод контроллера выглядит следующим образом :

@RestController
@RequestMapping("/orders/")
public class OrdersController {}

@PostMapping(value = "create", produces = "text/plain")
private String createOrder(@RequestBody POCreationRequest request) throws ParseException {

Запрос API выполняется вечно и не получает никакого ответа. Я нашел исключение в своем журнале. Есть идеи по этому вопросу?

Ответы [ 3 ]

0 голосов
/ 30 апреля 2020

Вы создали там два URL:

  • url / orders / -> принимает get / post / et c ... (хотя это не реализовано)

  • url / orders / create -> принимает сообщение

0 голосов
/ 30 апреля 2020
@RestController
@RequestMapping("/orders")
public class OrdersController {

@PostMapping(value = "create", produces = "text/plain")
  private String createOrder(@RequestBody POCreationRequest request) throws ParseException {
System.out.println(request)}
}

Вы можете попробовать приведенный выше код.

0 голосов
/ 30 апреля 2020

Вы пытаетесь сделать запрос GET только для конечной точки POST, поэтому страница не загружается. Ваша конечная точка должна быть типа GET. Вы также можете иметь одну и ту же конечную точку для запросов GET и POST следующим образом:

@RestController
@RequestMapping("/orders/")
public class OrdersController {}

@PostMapping(value = "create", produces = "text/plain")
private String createOrder(@RequestBody POCreationRequest request) throws ParseException {
    //Parse post requests
}

@GetMapping(value= "create")
private String servePage() {
    return create; //create is the name of the html view.
}

Теперь при переходе к localhost:8080/orders/create она должна обслуживать представление.

Вы также можете заставить отображение GET вернуть объект JSON по:

@GetMapping(value= "create")
private String serveJSON() {
    return "{\"hello\": \"world\"}"; //The string is treated as JSON and not as a view.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...