同学们好!在《我家租房网》项目的最后,我们对项目中的接口设计做一下总结。这里所说的接口,主要是指浏览器客户端与前端服务器之间的数据交换格式,同时也是我们设计前端服务器与后端微服务之间远程调用接口的依据。


根据业务的类型,我们可以把项目中的接口分为三组。第一组是与用户管理相关的接口,包括获取Session、获取图片验证码、获取短信验证码、用户注册、获取城区······


用户登录、用户退出、获取用户信息、更新用户名、上传头像······


实名认证、获取认证,等等。第二组是与商品管理相关的接口,包括获取房源、发布房源、上传图片······


获取房屋详情、获取轮播、搜索房屋,等等。第三组是与订单管理相关的接口,包括下订单、获取订单······


接受和拒绝订单、评价订单,等等。用户管理、商品管理和订单管理,也是各种电商类应用系统中,最基本的必备业务模块。


获取Session。


请求方法为GET。请求路径是/api/v1.0/session。没有请求参数。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含当前登录用户的用户名。


获取图片验证码。


请求方法为GET。请求路径是/api/v1.0/imagecode/图片验证码的UUID。没有请求参数。


成功响应报文中包含二进制形式的验证码图片数据。失败响应报文为空。


获取短信验证码。


请求方法为GET。请求路径是/api/v1.0/smscode/用户的手机号。请求参数中包括图片验证码字符串和图片验证码的UUID。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


用户注册。


请求方法为POST。请求路径是/api/v1.0/users。请求参数中包括用户的手机号、用户设置的密码和用户通过手机接收到的短信验证码。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


获取城区。


请求方法为GET。请求路径是/api/v1.0/areas。没有请求参数。


成功响应错误代码、错误描述,和由每个城区的ID和名字组成的城区列表。


失败响应错误代码和错误描述。


用户登录。


请求方法为POST。请求路径是/api/v1.0/sessions。请求参数中包括用户的手机号和密码。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


用户退出。


请求方法为DELETE。请求路径是/api/v1.0/session。没有请求参数。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


获取用户信息。


请求方法为GET。请求路径是/api/v1.0/user。没有请求参数。


成功响应错误代码、错误描述、当前登录用户的用户ID、用户名、手机号、真实姓名、身份证号和头像URL。


失败响应错误代码和错误描述。


更新用户名。


请求方法为PUT。请求路径是/api/v1.0/user/name。请求参数中包含新用户名。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含修改后的新用户名。


上传头像。


请求方法为POST。请求路径是/api/v1.0/user/avatar。请求参数中包含二进制形式的头像图片数据。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含用户图像的URL。


实名认证。


请求方法为POST。请求路径是/api/v1.0/user/auth。请求参数中包含当前登录用户的真实姓名和身份证号。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


获取认证。


请求方法为GET。请求路径是/api/v1.0/user/auth。没有请求参数。


成功响应错误代码、错误描述、当前登录用户的用户ID、用户名、手机号、真实姓名、身份证号和头像URL。


失败响应错误代码和错误描述。


获取房源。


请求方法为GET。请求路径是/api/v1.0/user/houses。没有请求参数。


成功响应错误代码、错误描述,和由每套房屋的地址、城区名、创建时间、房屋ID、主图片URL、预定订单数、价格、房间数、标题、房主头像URL等组成的房源列表。


失败响应错误代码和错误描述。


发布房源。


请求方法为POST。请求路径是/api/v1.0/houses。


请求参数中包含待租房屋的标题、价格、城区ID、地址、房间数、面积、房间配置、容纳人数、床铺配置、押金、最少和最多入住天数、设施ID列表等房源信息。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含所发布房源的房屋ID。


上传图片。


请求方法为POST。请求路径是/api/v1.0/houses/房屋ID/images。请求参数中包含二进制形式的房屋图片数据。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含所上传图片的URL。


房屋详情。


请求方法为GET。请求路径是/api/v1.0/houses/房屋ID。没有请求参数。


成功响应错误代码、错误描述、特定房屋的面积、地址、床铺配置、容纳人数、由每条评论的评论内容、创建时间和下单用户等组成的评论列表······


押金、设施ID列表、房屋ID、主图片和所有副图片的URL、最多和最少入住天数、价格、房间数、标题、房间配置、房主用户的头像URL、用户ID和用户名、以及浏览用户ID等。


失败响应错误代码和错误描述。


获取轮播。


请求方法为GET。请求路径是/api/v1.0/house/index。没有请求参数。


成功响应错误代码、错误描述,和由每套房屋的房屋ID、标题、价格、城区名、主图片URL、房间数、预定订单数、地址、房主头像URL、创建时间等组成的房屋列表。


失败响应错误代码和错误描述。


搜索房屋。


请求方法为GET。请求路径是/api/v1.0/houses。请求参数中包含城区ID、起止日期、查询方法和页码。


成功响应错误代码、错误描述、当前页码、由每套房屋的地址、城区名、创建时间、房屋ID、主图片URL、预定订单数、价格、房间数、标题、房主头像URL等组成的房屋列表,以及总页数。


失败响应错误代码和错误描述。


下订单。


请求方法为POST。请求路径是/api/v1.0/orders。请求参数中包含房屋ID和预定起止日期。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。成功响应报文中还会包含所下订单的ID。


获取订单。


请求方法为GET。请求路径是/api/v1.0/user/orders。请求参数中包含当前登录用户的角色,房东或者房客。


成功响应错误代码、错误描述,和由每份订单的总金额、评论、创建时间、预定天数、预定终止日、房屋主图片URL、订单ID、预定起始日、状态、标题等组成的订单列表。


失败响应错误代码和错误描述。


接受或者拒绝订单。


请求方法为PUT。请求路径是/api/v1.0/orders/订单ID/status。请求参数中包含接受或者拒绝。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


评价订单。


请求方法为PUT。请求路径是/api/v1.0/orders/订单ID/comment。请求参数中包含订单ID和评论内容。


无论成功还是失败,响应报文中都会包含错误代码和错误描述。


谢谢大家!至此我们已完成这门课程的学习,期待与各位在我司推出的其它课程中再次团聚。再见!