[英]Spring Annotation missing requestBody
我用一個簡單的 post 和 get 方法編寫了一個非常簡單的控制器類。
今天是我第一次使用 Postman - 我不知道我做錯了什么,但是每次使用POST映射時,我都會得到:
{
"timestamp": "2020-03-29T19:05:49.548+0000",
"status": 400,
"error": "Bad Request",
"message": "Required request body is missing: public int pl.futurecollars.controller.GreetingControler.saveGreeting(pl.futurecollars.controller.Greeting)",
"path": "/greetings"
}
控制器類:
@RestController
@RequestMapping("/greetings")
public class GreetingControler {
private Map<Integer, Greeting> greetings = new HashMap<>();
private int counter = 0;
@GetMapping
public Collection<Greeting> getGreetings() {
return greetings.values();
}
@PostMapping
public int saveGreeting(@RequestBody Greeting greeting){
greeting.setId(counter);
greetings.put(counter, greeting);
return counter++;
}
@DeleteMapping("/{id}")
public void deleteGreeting(@PathParam("id") int greetingId){
greetings.remove(greetingId);
}
}
我添加了一個@RequestBody
但它仍然說它丟失了。
如何解決這個煩惱?
首先根據您在注釋中提到的錯誤驗證您的輸入,其中一個字段名稱以.
相反,它應該在""
。 您可以在https://jsoneditoronline.org/上驗證您的 json。 還添加郵遞員快照僅供參考內部郵遞員-> 身體,您可以在其中放置有效載荷
錯誤消息對缺少的內容有明確的描述:
缺少所需的請求正文:...
因此,您錯過了向請求添加正文。
您的配置應如下所示:
正文應該是您的Greeting
類的 JSON 對象。
它應該發布到raw
標簽。
另外,不要忘記header
適當的Content-Type :
有用的鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.