徐昊 · TDD 项目实战 70 讲
徐昊
Thoughtworks 中国区 CTO
18159 人已学习
新⼈⾸单¥98
登录后,你可以任选4讲全文学习
课程目录
已完结/共 88 讲
实战项目二|RESTful开发框架:依赖注入容器 (24讲)
实战项目三|RESTful Web Services (44讲)
徐昊 · TDD 项目实战 70 讲
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 忘川
    应该是关注点太多了,前面准备上下文替身数据的准备过程复杂,会造成理解难度,而且制造这么多的测试数据,没有整理,对于后面的测试来说,不能复用,挺可惜的.
    2023-01-08归属地:上海
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部