Ich versuche, einen POST-Aufruf mit JSON zu einem Frühlings-Boot-App zu machen, die ich laufen werde, und ich erhalte die folgende Fehlermeldung jedes Mal, wenn ich einen Post AnrufErster JSON Beitrag in Spring-Boot arbeitet
Request method 'POST' not supported
Hier
ist das grundlegende Layout meiner Controller,
@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
und Answer
sind 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;
}
}
Ich möchte in der Lage sein, JSON an meinen Controller zu senden und dann eine JSON-Nachricht zurück zu erhalten. Wie bekomme ich das zum Laufen, ohne den Fehler? Ich bin Entsendung zu http://localhost:8080/messages
durch SoapUI
Ich bin in der Lage um das von Ihnen gesendete Beispiel ohne Probleme anzurufen. Hier ist das Arbeitsbeispiel: [gitHub] (https://github.com/ddiehl/spring-boot-web-test) Es gab einen Kompilierungsfehler in der Nachricht POJO. Beschreibung war int, aber Getter und Setter war mit String Aufruf mit curl: 'curl -H" Content-Type: Anwendung/Json "-X POST-d '{" id ":" 1 "," descripion ": "Test message"} 'http: // localhost: 8080/messages' –
Haben Sie ein benutzerdefiniertes Dispatcher-Servlet-Mapping irgendwo in der App? – luboskrnac
@DanielDiehl Ihr Beispiel war sehr hilfreich! Ich habe deinen Code in meinen übersetzt und es hat funktioniert. Vielen Dank! – user906153