Spring Boot实现 RESTful

Spring Boot 实现 RESTful

一、认识 REST

REST一种软件架构风格、设计风格,基于这种理念和原则设计的接口可以更简洁,更有层次。而基于REST构建的 API 就是RESTful API

在REST中,通过 URL 进行资源定位,用 HTTP (GET ,POST,DELETE,PUSH等)描述操作,完成功能。

比如我们要访问一个http 接口

普通方式:

http://localhost:8080/boot?id=2&s=1

RESTFul 风格

http://localhost:8080/boot/2/1

二、RESTFul 主要注解

(1) @PathVariable
获取 url 中的数据
(2) @PostMapping
接收和处理 Post 方式的请求
(3) @DeleteMapping
接收 delete 方式的请求,可以使用 GetMapping 代替
(4) @PutMapping
接收 put 方式的请求,可以用 PostMapping 代替
(5) @GetMapping
接收 get 方式的请求

动作 普通CRUD的URL 普通CRUD的HTTP方法 Restful 的URL Restful的CRUD的HTTP方法
查询 Article/id=1 GET Article/{id} GET
添加 Article ?title=xxx&body=xxx GET/POST Article POST
修改 Article/update?id=xxx GET Article/{id} PUT或PATCH
删除 Article/delete?id=oxx GET Article/{id} DELETE

可以看出,RESTful 风格的CRUD比传统的CRUD简单明了,它通过HTTP方法来区分增加、修改、删除和查询。

总结:

  • 传递参数变简单了
  • 服务提供者对外只提供了一个接口服务,而不是传统的 CRUD 四个接口

在Spring Boot中,如果要返回JSON数据,则只需要在控制器中用@RestCortoller注解。

如果提交HTTP方法,则使用注解@RequestMapping来实现,它有以下两个属性:

  • Value : 用来规定URI
  • Method : 用来制定 HTTP 请求方法

案例:使用 RESTful 风格模拟实现对学生的增删改查操作

1)在Springboot基础上导入依赖

<!--MyBatis 集成 SpringBoot 框架起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>
        <!--MySQL 驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

<build>
        <!--指定配置资源的位置-->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值