50|RESTful Web Services(14):分解任务与Setup测试
徐昊
你好,我是徐昊。今天我们继续使用 TDD 的方式实现 RESTful Web Services。
回顾架构愿景与任务列表
目前我们的架构愿景如下:
目前的任务列表为(仅列出与当前相关的模块),这里的列表我们合并了从 ResourceServlet 发现的需求,以及在第 40 讲中分解的任务:
ResourceRouter
在处理请求派分时,可以支持多级子资源(Sub-Resource)
在处理请求派分时,可以根据客户端提供的超媒体类型,选择对应的资源方法(Resource Method)
在处理请求派分时,可以根据客户端提供的 Http 方法,选择对应的资源方法
资源方法可以返回 Java 对象,由 Runtime 自行推断正确的返回状态
资源方法可以不明确指定返回的超媒体类型,由 Runtime 自行推断,比如,资源方法标注了 Produces 标注,那么就使用标注提供的超媒体类型等
资源方法可按找期望的类型,访问 Http 请求的内容
资源对象和资源方法可接受环境组件的注入
将 Resource Method 的返回值包装为 Response 对象
继续细化任务列表,根据架构愿景,分配到不同的模块:
ResourceRouter
将 Resource Method 的返回值包装为 Response 对象
根据与 Path 匹配结果,降序排列 RootResource,选择第一个的 RootResource
如果没有匹配的 RootResource,则构造 404 的 Response
如果返回的 RootResource 中无法匹配剩余 Path,则构造 404 的 Response
如果 ResourceMethod 返回 null,则构造 204 的 Response
Resource/RootResource/ResourceMethod
在处理请求派分时,可以支持多级子资源(Sub-Resource)
在处理请求派分时,可以根据客户端提供的超媒体类型,选择对应的资源方法(Resource Method)
在处理请求派分时,可以根据客户端提供的 Http 方法,选择对应的资源方法
资源方法可以返回 Java 对象,由 Runtime 自行推断正确的返回状态
资源方法可以不明确指定返回的超媒体类型,由 Runtime 自行推断,比如,资源方法标注了 Produces 标注,那么就使用标注提供的超媒体类型等
资源方法可按找期望的类型,访问 Http 请求的内容
资源对象和资源方法可接受环境组件的注入
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了徐昊在RESTful Web Services开发中使用TDD的方式实现的过程。文章首先回顾了架构愿景和任务列表,列举了当前相关的模块和任务,并细化了任务列表,将任务分配到不同的模块中。接着,文章提到了今日的开发内容,并提出了一个思考题,邀请读者分享自己的想法和项目代码。整体来看,本文重点介绍了RESTful Web Services的开发过程,以及作者在开发中遇到的问题和思考。读者可以通过本文了解到RESTful Web Services的TDD开发方式,以及在开发过程中需要考虑的架构愿景和任务分解。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《徐昊 · TDD 项目实战 70 讲》,新⼈⾸单¥98
《徐昊 · TDD 项目实战 70 讲》,新⼈⾸单¥98
立即购买
登录 后留言
全部留言(1)
- 最新
- 精选
- 忘川应该是关注点太多了,前面准备上下文替身数据的准备过程复杂,会造成理解难度,而且制造这么多的测试数据,没有整理,对于后面的测试来说,不能复用,挺可惜的.2023-01-08归属地:上海
收起评论