【发布时间】:2020-10-01 01:24:11
【问题描述】:
有一个Spring-MVC 应用程序。在控制器中,当返回方法的结果时,我通过ResponseEntity<> 返回。成功后,我返回(200 statutes)OK-方法。但是在创建某些东西时,我想返回CREATED-method(201 状态)。我只是不明白通过CREATED 打电话时要在括号中问什么样的URL。如何实现?
现在我有这样一个实现:
@PostMapping("/create/dish")
ResponseEntity<Dish> createDish(@Valid @RequestBody DishDTO dishDTO) {
return ResponseEntity.ok(cookService.createDish(dishDTO.getDishName(), dishDTO.getAboutDish(), dishDTO.getDishType(),
dishDTO.getCookingTime(), dishDTO.getWeight(),
dishDTO.getDishCost(), dishDTO.getCooksId()));
}
我想像这样重新制作它以使其工作(现在它不起作用):
@PostMapping("/create/dish")
ResponseEntity<Dish> createDish(@Valid @RequestBody DishDTO dishDTO) {
return ResponseEntity.created(cookService.createDish(dishDTO.getDishName(), dishDTO.getAboutDish(), dishDTO.getDishType(),
dishDTO.getCookingTime(), dishDTO.getWeight(),
dishDTO.getDishCost(), dishDTO.getCooksId()));
}
附:我根本没有前端。全部通过 Swagger 或 PostMan。
【问题讨论】:
-
“已创建”状态是 201,而不是 203。
-
我要改变我的问题。谢谢!
标签: java spring-boot rest http spring-mvc