我正在嘗試使用 Spring 創建一個購物車,它將具有cartId, product name, price. 這將使用特定的端點來完成/api/carts。為此,我將使用 POST 方法,@RequestBody但我的作業要求是創建一個空主體的 POST 方法。圍繞它的邏輯是什么?我如何在春天做到這一點?
我的理解是,我也應該在正文中發送資料,例如cartId, product name, price. 我錯過了什么?
我的代碼是這樣的
@RestController
@RequestMapping ("/api")
public class Controller {
@Autowired
CartService service;
@PostMapping("/carts")
ResponseEntity<CartDTO> createCart (@RequestBody CartDTO dto){
Cart cart = new Cart(dto);
etc
但上面不會有一個空的身體。有人可以用空的身體和身體來解釋 post 方法的區別嗎?謝謝
uj5u.com熱心網友回復:
從技術上講,發布一個空的正文(也就是沒有正文)是不可能的!對于基于 http 的所有請求,您將始終擁有一個有效的正文(請參閱https://www.ietf.org/rfc/rfc2616.html#section-5)!用這個術語寫的任務是胡說八道。
但是您可以發布 0 位元組的有效正文大小。這是對“空體”最匹配的解釋。如果您既不發布 Content-Length 也不發布 Transfer-Encoding 標頭,則可以表示空正文。但這不是一個非物體術語。你總是發送一個正文,即使它的長度為 0 位元組。
uj5u.com熱心網友回復:
你可以這樣實作它:
@PostMapping("/carts")
public ResponseEntity createCart(@RequestBody CartDTO dto) {
.....logic
return new ResponseEntity(HttpStatus.CREATED);
}
這只會發送 httpSTatus 作為回應。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/511701.html
標籤:爪哇春天
上一篇:如何在我的專案中運行不同專案的servlet-filter而不使用spring@Component或@Bean注釋
