首页
学习
活动
专区
圈层
工具
发布

Rest API: Json参数格式错误时显示Json原文

后台提供API给前端调用,一般使用HttpMessageConverter把Json字符串转换成对象,如果存在格式问题则会抛出异常HttpMessageNotReadableException。...但是后台拿不到原始的Json字符串,不方便定位到确切的格式错误。 本文介绍一个简易方法,可以在出错时,展示Json原文信息。...但是做不到,因为在做Json读取的时候,InputStream已经被读取了,无法再次获取到body内容。所以只能通过自定义MessageConverter的方式。...class="com.tenmao.HttpMessageConverter" /> 结果 假设参数对象如下...消息,则会抛出异常(hobbies应该是一个数组,参数中是字符串basketball) org.springframework.http.converter.HttpMessageNotReadableException

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rest api简介

    因此,我们在设计 REST API 的时候,应该提供完备的内容协商能力。 使用 URL 参数进行内容协商 最容易想到的自然是通过 URL 参数进行控制,我们经常看到形如 / 航班号 /entry?...并且,过多的参数会导致 URL 的可读性变差,更有甚者,可能会导致 URL 过长,超出规范,API 请求无法执行。 更为标准的内容协商方式是使用 HTTP 头。...通过减少 HTTP 响应内容,避免不必要的 HTTP 连接等方式,达到提高 REST API 使用效率的目的。 HTTP 头中,有多个字段可以用于缓存处理。比较常用的有缓存控制和条件请求。...,可以帮助我们更好的设计 REST API: 批量更新: 当用户需要更新多个资源的时候,你打算让开发者一次次的发送 HTTP 请求逐个更新吗?...你可以考虑在设计 API 的时候允许客户同时创建或者更新多个资源。

    2.9K60

    撰写合格的REST API

    稍稍总结了些经验,在这篇文章里讲讲如何撰写「合格的」REST API。 RFC一致性 REST API一般用来将某种资源和允许的对资源的操作暴露给外界,使调用者能够以正确的方式操作资源。...如今鲜有人在撰写REST API时, 简单说来就是一个操作符合幂等性,那么相同的数据和参数下,执行一次或多次产生的效果(副作用)是一样的。...一个合格的REST API需要根据Accept头来灵活返回合适的数据。...一般而言,如果对REST API的安全性要求比较高,那么,所有的API的所有操作均需得到授权。...其他 做到了接口一致性(符合RFC)和安全性,REST API可以算得上是合格了。当然,一个实现良好的REST API还应该有如下功能: rate limiting:访问限制。

    2K50

    js默认参数和rest参数

    在JavaScript中,ES6(ECMAScript 2015)引入了默认参数(Default Parameters)和rest参数(Rest Parameters)这两个新特性,它们为函数参数的处理提供了更多的灵活性...rest参数(Rest Parameters) rest参数允许你将一个不定数量的参数表示为一个数组。这在处理函数参数数量不确定的情况下非常有用。...rest参数以三点(...)开头,并且必须作为函数的最后一个参数。因些当你使用...(三个点)在函数参数中,它表示这个函数可以接收任意数量的参数,并将这些参数收集到一个数组中。...这个数组包含了除了已明确声明的参数之外的所有剩余参数。因此,rest 参数(或称为剩余参数)用于处理函数定义中未明确指定的额外参数。...name 和 age)和一个rest参数(hobbies),用于接收一个不定数量的爱好。

    1.2K00

    REST API和SOAP API之间的区别

    The Representational State Transfer (REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。...REST是一种世界观,将信息提升为我们构建的体系结构的第一流元素。 Roy Fielding博士的论文“架构风格和基于网络的软件架构设计”介绍并整理了用于描述“RESTful”系统的思想和术语。...“无状态”这个术语是一个至关重要的部分,因为它允许应用程序以不一样的方式进行通信。 一个RESTful API服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接受或返回的标识分开。...这是最常见的请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API的编程交互,可以使用十几种或更多的客户端API或工具。...如果没有对RESTful架构实现的更宏观的理解,很容易失去实践的意图。 REST最好用于管理系统,通过将产生和使用它的技术产生和使用的信息解耦。

    2.7K10

    REST API和SOAP API之间的区别

    大家好,又见面了,我是你们的朋友全栈君。 The Representational State Transfer (REST)架构风格不是可以购买的技术,也不是可以添加到软件开发项目中的库。...“无状态”这个术语是一个至关重要的部分,因为它允许应用程序以不一样的方式进行通信。 一个RESTful API服务通过统一资源定位器(URL)公开。这个逻辑名称将资源的标识与所接受或返回的标识分开。...这是最常见的请求,每次在浏览器中键入URL并单击return、选择书签或单击锚点引用链接时执行。 对于与RESTful API的编程交互,可以使用十几种或更多的客户端API或工具。...基于rest的请求的一个重要方面是,每个请求包含足够的状态来响应请求。这就允许服务器上的可见性和无状态性、扩展系统所需的属性以及识别正在发出的请求。这种状态还允许缓存特定的结果。...如果没有对RESTful架构实现的更宏观的理解,很容易失去实践的意图。 REST最好用于管理系统,通过将产生和使用它的技术产生和使用的信息解耦。

    2K20

    什么是REST API

    REST API是两个计算机系统在web浏览器和服务器中使用HTTP技术进行通信的一种方式。 在两个或多个系统之间共享数据一直是软件开发的一个基本要求。比如说,考虑购买汽车保险。...实现RESTful API的应用程序将定义一个或多个带有域名、端口、路径、和/或查询字符串的URL端点,例如,https://mydomain/user/123?format=json。...为了避免兼容性问题,API通常是有版本的。例如,/2.0/user/123取代了/user/123。新的和旧的端点都可以保持活跃。不幸的是,这样就有必要维护多个历史API。...REST API必须识别用户和他们的权利,但它可能不关心哪个应用程序在调用API。 REST API安全性 RESTful API提供了另一种访问和操作你的应用程序的途径。...多个请求和不必要的数据 RESTful APIs受到其实现的限制。响应可能包含比你需要的更多的数据,或者需要进一步的请求来访问所有数据。 考虑一个RESTful API,它提供对作者和书籍数据的访问。

    5.9K20

    REST API设计指导——译自Microsoft REST API Guidelines(四)

    前言 前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...上篇内容: REST API设计指导——译自Microsoft REST API Guidelines(三) 6 Client guidance 客户指导 To ensure the best possible...符合 Microsoft REST API 指南的 API 应该支持 PATCH 方法。...表的请求头应该遵循微软REST API服务规范。使用这些标头不是必须的,但是如果用到,那么它们必须使用一致。

    2.9K50

    REST API设计指导——译自Microsoft REST API Guidelines(三)

    前面我们说了,如果API的设计更规范更合理,在很大程度上能够提高联调的效率,降低沟通成本。那么什么是好的API设计?这里我们不得不提到REST API。...关于REST API的书籍很多,但是完整完善实践丰富的设计指导并不多见,我们有幸看到了微软团队的作品——Microsoft REST API Guidelines,因此才有了此篇内容。...Microsoft REST API 准则基本要求的一方面就是 服务的分类必须符合以下定义。...例如,无效的证书,错误的参数,未知的版本 ID 等。...错误不会影响整体 API 的可用性。 译者注:错误可以理解成客户端参数错误,通常返回“4XX”状态码,并不影响整体的API使用。

    1.7K30

    腾讯会议REST API X-TC-Registered参数策略更新通知

    本次更新点 更新前:X-TC-Registered为可选参数,不传该参数时默认按0处理。 更新后:X-TC-Registered为必填参数,不传该参数会报错。...预计更新时间 2021年9月24日 影响范围 创建会议接口,会议的相关查询/修改/取消等接口 修改方法 所有请求均需将X-TC-Registered作为必填参数传入,创建会议请求除未启用通讯录(腾讯会议后台无任何用户账号...为兼容以前创建的会议,如果用户有记录创建会议时传入的该参数值,则与创建时保持一致即可;如果没有记录,可尝试先传1,报错后再传0重试。...参数说明 X-TC-Registered参数为Rest API接口公共参数,在每个消息的消息头都需要填写该参数,定义如下: 当X-TC-Registered为1时,后台会对传入的创建者userid做校验转换...要验证这两者之间的差异可以创建一个会议,不传hosts,invitees等参数,然后以创建者账号登录腾讯会议APP,可以发现传1时会议列表能看到刚才创建的会议,而传0时则看不到刚才创建的会议。

    1.3K20

    你确定你的 REST API 真的符合 REST 规范?

    RESTful API 的存在是 web 开发历史上的一个里程碑。在本文中,我将和你探讨几种节省 REST API 开发时间的方法,并给出相关的 Node.js 示例。...RESTful API 背后的思想是遵循REST 规范中描述的所有架构规则和限制的方式进行开发。然而,实际上,这在实践中基本上是不可能的。 一方面,REST 包含了太多模糊和模棱两可的定义。...REST API 规范能做什么? 尽管存在上面说到的缺点,但使用合理的方法,REST 仍然是创建真正优秀 api 的一个绝佳选择。...因为你通过高质量的 API 规范实现的 api 将会是一致的,具有清晰的结构、良好的文档和高的单元测试覆盖率。 通常,REST API规范与其文档相关联。...这将使使用你的 API 的开发人员感到轻松,并且肯定比手工填写 REST API 文档模板要好。

    1.2K20

    【Elasticsearch】Rest风格API

    Rest风格API Elasticsearch提供了Rest风格的API,即http请求接口 基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL...,代表许多的索引 类型(type):类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。...| Elastic 索引操作 创建索引:put请求 使用kibana创建索引 请求方式:PUT 请求路径:索引库名 请求参数:json格式 put book {   "settings"...ES中所存数据的文件块,也是数据的最小单元块。假如有2个分片,插入10条数据,默认,每个分片存5条。...,类似于数据库中的表 字段名:类似于数据库中的列名。

    1.5K40
    领券