中三A105论坛

注册 登录
查看: 48|回复: 0

Restful API

[复制链接]

111

主题

111

帖子

369

积分

中级会员

Rank: 3Rank: 3

积分
369
发表于 2024-3-5 12:45:31 | 显示全部楼层 |阅读模式
1.jpg
1.Restful API设计
在传统API的设计则通过HTTP的方法来表示CRUD相关的操作。
因此,除了get和post方法外,还会用到其他的HTTP方法,如PUT、DELETE、HEAD等,通过不同的HTTP方法来表示不同含义的操作。
例如:下面是我设计的一组对用户的增删改查的Restful API
2.jpg
这里可以看出,URL仅仅是标识资源的路劲,而具体的行为由HTTP方法来指定。
2.Restful API实现

现在我们再来看看如何实现上面的接口,其他就不多说,直接看代码:
3.jpg
我们再来分析一下这段代码:
(1)我们使用的是@RestController这个注解,而不是@Controller,不过这个注解同样不是Spring boot提供的,而是Spring MVC4中的提供的注解,表示一个支持Restful的控制器。
(2)这个类中有三个URL映射是相同的,即都是/user/{id},这在@Controller标识的类中是不允许出现的。这里的可以通过method来进行区分,produces的作用是表示返回结果的类型是JSON。
(3)@PathVariable这个注解,也是Spring MVC提供的,其作用是表示该变量的值是从访问路径中获取。
所以看来看去,这个代码还是跟Spring boot没太多的关系,Spring boot也仅仅是提供自动配置的功能,这也是Spring boot用起来很舒服的一个很重要的原因,因为它的侵入性非常非常小,你基本感觉不到它的存在。
3.测试

代码写完了,怎么测试?除了GET的方法外,都不能直接通过浏览器来访问,当然,我们可以直接通过postman来发送各
4.jpg
释:参考UserControllerTest
因为要执行HTTP请求,所以这里使用了MockMvc,ArticleRestController通过注入的方式实例化,不能直接new,否则ArticleRestController就不能通过Spring IoC容器来管理,因而其依赖的其他类也无法正常注入。通过MockMvc我们就可以轻松的实现HTTP的DELETE/PUT/POST等方法了。
4.总结

本文讲解了如果通过Spring boot来实现Restful的API,其实大部分东西都是Spring和Spring MVC提供的,Spring boot只是提供自动配置的功能。
但是,正是这种自动配置,为我们减少了很多的开发和维护工作,使我们能更加简单、高效的实现一个web工程,从而让我们能够更加专注于业务本身的开发,而不需要去关心框架的东西。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部