Я пытаюсь сделать POST вызов с JSON к приложению Spring загрузки, что я бег, и я получаю следующую ошибку каждый раз, когда я сделать пост позвонитьПолучение JSON Post работать в Spring ботинке
Request method 'POST' not supported
Вот основная схема моего контроллера,
@RestController
public class MessagesController {
@RequestMapping(value = "/messages", method = RequestMethod.POST)
public @ResponseBody Answer processMessage(@RequestBody Message message) throws Exception{
System.out.println("HERE");
Answer a = new Answer(5);
return a;
}
@ExceptionHandler
void handleException(Exception e, HttpServletResponse response) throws IOException {
response.sendError(HttpStatus.CONFLICT.value());
}
}
Message
и Answer
являются POJOs
public class Message implements Serializable{
private int id;
private int description;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description= description;
}
}
public class Answer implements Serializable{
private int answer;
public Answer(int answer){
this.answer = answer;
}
public int getAnswer() {
return answer;
}
public void setAnswer(int answer) {
this.answer = answer;
}
}
Я хотел бы иметь возможность POST JSON для моего контроллера, а затем получать сообщение JSON. Как я могу заставить это работать без ошибок? Я отправляю к http://localhost:8080/messages
через SoapUI
Я могу чтобы вызвать без проблем пример, который вы отправили. Вот рабочий пример: [gitHub] (https://github.com/ddiehl/spring-boot-web-test) В Message POJO была одна ошибка компиляции. описание было int, но getter и setter были с String Вызов с помощью curl: 'curl -H 'Content-Type: application/json" -X POST -d' {"id": "1", "descripion": «Тестовое сообщение»} «http: // localhost: 8080/messages' –
У вас есть настраиваемое сервлет серфинга диспетчера где-нибудь в приложении? – luboskrnac
@ DanielDiehl Ваш пример был очень полезным! Я перевел ваш код на мой, и он сработал. Спасибо! – user906153