栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring 4.x / 3.x(Web MVC)REST API和JSON2 Post请求,如何一次全部正确?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring 4.x / 3.x(Web MVC)REST API和JSON2 Post请求,如何一次全部正确?

CURL Post call

curl -i -H "Content-Type: application/json" -X POST -d '{"id":100,"username":"JohnBlog","name":"John","lastName":"Blog","email":"JohnBlog@user.com"}' http://localhost:8080/[YOURWEBAPP]/api/user/add

Different Error Scenarios:

在这里,我探讨了进行curl调用后可能遇到的各种错误以及可能出了什么问题。

Scenario One:

HTTP/1.1 404 Not FoundServer: Apache-Coyote/1.1Content-Type: text/html;charset=utf-8Content-Length: 949Date: Tue, 04 Jun 2013 02:59:35 GMT

这意味着你提供的URL中不存在REST API。

根本原因:

  • 你的请求中可能有错字(相信我,这可能发生)!
  • 可能是你的弹簧配置不正确。如果是这种情况,则需要进一步挖掘出实际出了问题的地方,但是在开始更复杂的调查之前,我提供了你需要做的一些初始操作。

动作:
在确保一切都正确完成之后,并且你的配置也没有问题,也没有URL:-运行maven clean。-取消部署你的Web应用程序或将其删除。-重新部署网络应用程序-确保在Maven / Gradle中仅使用Spring的一个版本

Scenario Two:

HTTP/1.1 400 Bad RequestServer: Apache-Coyote/1.1Content-Type: text/html;charset=utf-8Content-Length: 968Date: Tue, 04 Jun 2013 03:08:05 GMTConnection: close

这背后的唯一原因是你的请求格式不正确。如果你查看详细的curl响应,则应该可以看到“客户端发送的请求在语法上不正确。”。

根本原因:
你的JSON格式不正确,或者你缺少JAVA对象的必需参数。

动作:
确保以正确的格式和正确数量的参数提供JSON对象。可空属性不是强制性的,但你必须为所有NotNullable属性提供数据。重要的是要记住,Spring正在使用Java反射将你的JSON文件转换为Java对象,这是什么意思?这意味着变量和方法名称是CasE SensItiVe。如果你的JSON文件正在发送变量“ userName”,则Java对象中的匹配变量也必须命名为“ userName”。如果你有getter和setter,则它们也必须遵循相同的规则。getUserName和setUserName匹配我们前面的示例。

Senario Three:

HTTP/1.1 415 Unsupported Media TypeServer: Apache-Coyote/1.1Content-Type: text/html;charset=utf-8Content-Length: 1051Date: Wed, 24 Aug 2011 08:50:17 GMT

根本原因:
你的Web服务不支持Json媒体类型。这可能是由于注释未指定媒体类型,或者未在“ Curl post”命令中指定媒体类型。

动作:
检查你的消息转换器是否正确设置,并确保Web服务注释与上面的示例匹配。如果这些都很好,请确保在“ Curl发布”请求中指定内容类型。

你的Web服务不支持json媒体类型。

Senario N(!):

HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 04 Jun 2013 03:06:16 GMT 

恭喜,用户实际上已发送到你的服务器端REST API。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号