在使用JSON资源构建RESTful/超媒体API时,我似乎有两种选择来指定资源之间的超媒体关系。在JSON文档的正文中嵌入链接。这里的问题是没有用于指定超链接的标准化语法,尽管我看到了一些很好的努力:(HAL、Collection+JSON、JSON-LD、JSONSchema等等)。使用HTTP链接header。这是一个标准化的,所以这似乎比嵌入式链接更有优势。客户只需了解如何理解标准header,瞧,超媒体的优点就实现了。那么,特别是在处理JSON资源的上下文中,这是要走的路,为什么? 最佳答案 使用超媒体JSON格式。虽然链
在使用JSON资源构建RESTful/超媒体API时,我似乎有两种选择来指定资源之间的超媒体关系。在JSON文档的正文中嵌入链接。这里的问题是没有用于指定超链接的标准化语法,尽管我看到了一些很好的努力:(HAL、Collection+JSON、JSON-LD、JSONSchema等等)。使用HTTP链接header。这是一个标准化的,所以这似乎比嵌入式链接更有优势。客户只需了解如何理解标准header,瞧,超媒体的优点就实现了。那么,特别是在处理JSON资源的上下文中,这是要走的路,为什么? 最佳答案 使用超媒体JSON格式。虽然链
我有一个“软件即服务”应用程序,它使用通过RESTfulAPI通信的JSON。简单地说:当使用带有JSON数据交换的RESTfulAPI时,捕获和报告异常的最佳实践是什么?我的第一个想法是通过生成脚手架来看看Rails做了什么,但这显然是不对的。摘录如下:classMumblesController在这种情况下,如果JSON代码发送一个不存在的ID,例如http://www.myhost.com/mumbles/99999.json然后Mumble.find()将引发ActiveRecord::RecordNotFound。ActionController会捕捉到它并在HTML中呈现一
我有一个“软件即服务”应用程序,它使用通过RESTfulAPI通信的JSON。简单地说:当使用带有JSON数据交换的RESTfulAPI时,捕获和报告异常的最佳实践是什么?我的第一个想法是通过生成脚手架来看看Rails做了什么,但这显然是不对的。摘录如下:classMumblesController在这种情况下,如果JSON代码发送一个不存在的ID,例如http://www.myhost.com/mumbles/99999.json然后Mumble.find()将引发ActiveRecord::RecordNotFound。ActionController会捕捉到它并在HTML中呈现一
我已经成功设置了一个快速测试来创建一个“类REST”服务,该服务返回一个序列化为JSON的对象,这非常简单快捷(基于thisarticle)。但是,虽然返回JSON化对象很容易,但我还没有看到任何处理非原始输入参数的示例。如何将复杂对象作为参数传递?我正在使用ApacheCXF,但也欢迎使用其他框架(如Jackson)的示例:)客户端可能类似于构建一个javascript对象,将其传递到JSON.stringify(complexObj),然后将该字符串作为参数之一传递。服务可能看起来像这样@Service("myService")classRestService{@GET@Produ
我已经成功设置了一个快速测试来创建一个“类REST”服务,该服务返回一个序列化为JSON的对象,这非常简单快捷(基于thisarticle)。但是,虽然返回JSON化对象很容易,但我还没有看到任何处理非原始输入参数的示例。如何将复杂对象作为参数传递?我正在使用ApacheCXF,但也欢迎使用其他框架(如Jackson)的示例:)客户端可能类似于构建一个javascript对象,将其传递到JSON.stringify(complexObj),然后将该字符串作为参数之一传递。服务可能看起来像这样@Service("myService")classRestService{@GET@Produ
这个问题在这里已经有了答案:HTTPGETwithrequestbody(23个回答)关闭7年前。我不想在URI中看到这么长的参数字符串。那么,GET方法可以使用json数据吗?在我的情况下,我需要过滤给定参数的结果。如果参数很多,长度可能会超过URI的限制。那么,有没有解决这个问题的最佳实践? 最佳答案 理论上,没有什么能阻止您在GET中发送请求正文。要求。HTTP协议(protocol)允许这样做,但没有定义语义,因此由您来记录客户端发送GET时究竟会发生什么。有效载荷。例如,您必须定义JSON正文中的参数是否等同于查询字符串参
这个问题在这里已经有了答案:HTTPGETwithrequestbody(23个回答)关闭7年前。我不想在URI中看到这么长的参数字符串。那么,GET方法可以使用json数据吗?在我的情况下,我需要过滤给定参数的结果。如果参数很多,长度可能会超过URI的限制。那么,有没有解决这个问题的最佳实践? 最佳答案 理论上,没有什么能阻止您在GET中发送请求正文。要求。HTTP协议(protocol)允许这样做,但没有定义语义,因此由您来记录客户端发送GET时究竟会发生什么。有效载荷。例如,您必须定义JSON正文中的参数是否等同于查询字符串参
背景我们正在构建一个应该以JSON形式返回数据对象的RestfulAPI。在大多数情况下,只返回数据对象就可以了,但在某些情况下,f.ex。分页或验证,我们需要在响应中添加一些元数据。我们目前所拥有的我们已经像这个例子一样包装了所有的json响应:{"metadata":{"status":200|500,"msg":"Somemessagehere","next":"http://api.domain.com/users/10/20"...},"data":{"id":1001,"name":"Bob"}}优点我们可以在回复中添加有用的元数据缺点在大多数情况下我们不需要元数据字段,它
背景我们正在构建一个应该以JSON形式返回数据对象的RestfulAPI。在大多数情况下,只返回数据对象就可以了,但在某些情况下,f.ex。分页或验证,我们需要在响应中添加一些元数据。我们目前所拥有的我们已经像这个例子一样包装了所有的json响应:{"metadata":{"status":200|500,"msg":"Somemessagehere","next":"http://api.domain.com/users/10/20"...},"data":{"id":1001,"name":"Bob"}}优点我们可以在回复中添加有用的元数据缺点在大多数情况下我们不需要元数据字段,它