java – 在spring boot中发送REST响应的最佳方式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在spring boot中发送REST响应的最佳方式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1492字,纯文字阅读大概需要3分钟。
内容图文
![java – 在spring boot中发送REST响应的最佳方式](/upload/InfoBanner/zyjiaocheng/735/1ef7cc4dd5b748ae87bc428c4945288b.jpg)
在春季启动时发送休息响应的最佳方法是什么?另外我应该如何管理发送状态代码才能正确完成?
目前我使用ResponseEntity,但我怀疑这是最优雅的方式.
示例代码:
@PostMapping()
public ResponseEntity post(@Valid @RequestBody Item item, BindingResult bindingResult){
if (bindingResult.hasErrors()){
return new ResponseEntity<>(new ModelErrors(bindingResult), HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<>(itemService.addItem(item), HttpStatus.CREATED);
}
ModelErrors类扩展了HashMap类,只是获取并包装BindingResult的错误消息.
解决方法:
就个人而言,我认为返回ResponseEntity将是许多案例的最佳选择.在我看来,更可读的方法就是在ResponseEntity上使用方便的状态方法
@PostMapping()
public ResponseEntity post(@Valid @RequestBody Item item, BindingResult bindingResult){
if (bindingResult.hasErrors()){
return ResponseEntity.badRequest().body(new ModelErrors(bindingResult));
}
return ResponseEntity.created().body(itemService.addItem(item));
}
或者,您可以使用传递HttpStatus或状态代码的状态方法
ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ModelErrors(bindingResult));
ResponseEntity.status(201).body(itemService.addItem(item));
另一种选择是在不使用ResponseEntity的情况下返回您想要的任何类型,但是这使您对响应的控制更少,并且要求您具有正确的MessageConverter配置(您可以阅读该here).
一个简单的例子可能看起来像这样
@RequestMapping("/hotdog")
public Hotdog hotdog() {
return new Hotdog("mystery meat", "ketchup, mustard");
}
如果一切都配置正确,你最终会得到这样的回应
{
"content": "mystery meat",
"condiments": "ketchup, mustard"
}
内容总结
以上是互联网集市为您收集整理的java – 在spring boot中发送REST响应的最佳方式全部内容,希望文章能够帮你解决java – 在spring boot中发送REST响应的最佳方式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。