RESTful JSON Web服务最佳实践

简介: 本文讲的是RESTful JSON Web服务最佳实践,Collaxa BPEL产品-后来成为Oracle SOA战略核心的一部分-背后的关键人物之一,Edwin Khodabakchian,已经单独致力于Feedly这一“将twitter和Google Reader编织成杂志一般的体验”的项目好几年了。

本文讲的是RESTful JSON Web服务最佳实践,【IT168 资讯】Collaxa BPEL产品-后来成为Oracle SOA战略核心的一部分-背后的关键人物之一,Edwin Khodabakchian,已经单独致力于Feedly这一“将twitter和Google Reader编织成杂志一般的体验”的项目好几年了。最近Edwin发布了一本关于构建基于JSON的Web服务最佳实践的cookbook。当然这还在进行当中,但现有提供的指南包括了:
  第一阶段-定义一个简单的资源/服务 | 选一个示例资源比如客户信息,用JSON来对其建模。构建一个简单的servlet,以PUT来创建一个新客户,以GET基于客户键值返回客户信息,以DELETE删除客户,以POST更新客户信息。保证PUT返回的是关于新创建资源URL的正确信息。在我们的案例中,我们有一个将JSON映射到Java模型的框架,使用Hibernate在MySQL数据库中对这一模型作持久化存储。这一阶段的关键是,用JSON正确的表示,并且基本url要有简单整洁的格式。
还有:
  第三阶段-加入验证 | 修改你的服务实现为通过PUT和POST所收到的JSON资源加入一些数据验证。学会如何使用HHTP错误代码来定义和转移异常信息。学会如何在客户端处理这些异常。这一阶段的关键是保证你知道现在的HTTP错误代码,在适当的时候重用它们,并且在需要的时候创建符合于HTTP的新代码。
  现在正在著述中的有7个不同的阶段,其范围从我们提到的第一个,到认证,到生命周期。看到来自现实经验的指南一直都是非常棒,而且Edwin试图覆盖到在过去毫无疑问曾给它带来困难的问题,比如:
  有很多库可用以帮助你抽象XMLHTTPRequest。选择一个可以跨浏览器的。选择一个足够透明,能让你看到你所调用的GET,POST,PUT和DELETE操作的。或者:
  为业务事件定义合适的粒度和合适的类型不是那么容易。你也许需要几次的迭代才能把它做好。我的建议是不要过度设计:尽量保持简单并且出现新用例时进行重构。
  对于REST许多其支持者认为是理所当然的方面 ,当然也作出了参考,比如:
  第五阶段-添加缓存 | Web基础设施提供了丰富的缓存机制(最后修改信息,缓存持续期,eTag)。学习机制并看看你是否能利用它们来提升服务的性能与伸缩性。
  Edwin同时还涉及了一些非常实践的方案,这些方案也许乍一看是有背于REST/HTTP原则的:
  一些服务器不允许DELETE,这一种情况下你得学会如何用方法重写来POST。
  根据 Edwin的说法,他们正在考虑将其后端的一些基础设施开源出来。在些之前 FriendFeed API 的文档是可获得的。随着JSON+REST的逐渐流行,这必将是本有趣的cookbook,以供开发者考虑和利用。

原文发布时间为:2009-05-21
本文作者:IT168.com
本文来自云栖社区合作伙伴IT168,了解相关信息可以关注IT168。
原文标题:RESTful JSON Web服务最佳实践

目录
相关文章
|
存储 算法 安全
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
757 41
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
|
12月前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
514 1
|
存储 JSON 安全
如何使用 JSON Web Tokens 进行身份验证?
总的来说,JWT 是一种强大而灵活的身份验证方式,通过正确使用和管理,可以为应用提供可靠的身份验证机制,同时提高系统的可扩展性和安全性。在实际应用中,需要根据具体的需求和场景,合理设计和实施 JWT 身份验证方案。
545 63
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
815 17
使用Web浏览器访问UE应用的最佳实践
|
监控 安全 API
深入浅出:构建高效RESTful API的最佳实践
在数字化时代,API已成为连接不同软件和服务的桥梁。本文将带你深入了解如何设计和维护一个高效、可扩展且安全的RESTful API。我们将从基础概念出发,逐步深入到高级技巧,让你能够掌握创建优质API的关键要素。无论你是初学者还是有经验的开发者,这篇文章都将为你提供实用的指导和启示。让我们一起探索API设计的奥秘,打造出色的后端服务吧!
|
SQL 缓存 测试技术
构建高性能RESTful API:最佳实践与避坑指南###
—— 本文深入探讨了构建高性能RESTful API的关键技术要点,从设计原则、状态码使用、版本控制到安全性考虑,旨在为开发者提供一套全面的最佳实践框架。通过避免常见的设计陷阱,本文将指导你如何优化API性能,提升用户体验,确保系统的稳定性和可扩展性。 ###
507 12
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
428 6
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
829 2
|
JSON API 开发者
构建高效API:后端开发中的RESTful最佳实践####
在数字化时代,API作为不同系统间通信的桥梁,其重要性日益凸显。本文将深入探讨RESTful API的设计原则与最佳实践,通过实际案例分析,揭示如何构建高效、可维护且易于使用的API接口,助力后端开发者提升项目质量与用户体验。 ####

热门文章

最新文章