Restful架构风格

一:什么是Restful架构风格

Restful是一种软件架构风格,指的是一组架构约束和原则。满足这些约束条件和原则就是采用Restful风格

核心:将应用程序设计成一组资源的集合,每个资源都有一个唯一的标识符(URL),且可以进行各种操作(GET、POST、PUT、DELETE等)

二:特点

1:资源的统一标识符(URL):每个资源都有一个唯一的URL,用于标识该资源

2:统一的接口(HTTP方法):定义了一组标准的HTTP方法(GET、POST、PUT、DELETE等)

3:无状态的通信:服务器不保存客户端的任何状态信息,每个请求都是独立的

4:支持缓存:客户端可以缓存服务器返回的资源状态,以提高性能

三:使用spring boot实现Restful API

以下将演示如何使用spring boot框架实现一个简单的Restful API,并使用工具测试API接口的功能

1:创建spring boot工程

创建一个spring boot工程,选择Web依赖

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
</dependencies>

2:定义领域模型(实体类)

首先定义一个领域模型User类,包含id和name两个属性。

public class User {

    private long id;
    private String name;

    // 省略getter/setter
}

3:创建Controller

创建一个UserController类来定义Restful API的接口

@RestController
@RequestMapping("/users")
public class UserController {

    private static Map<Long, User> users = new HashMap<>();

    @GetMapping("/{id}")
    public User getUser(@PathVariable long id) {
        return users.get(id);
    }

    @PostMapping("/tj")
    public String createUser(@RequestBody User user) {
        users.put(user.getId(), user);
        return "success";
    }

    @PutMapping("gx")
    public String updateUser(@RequestBody User user) {
        users.put(user.getId(), user);
        return "success";
    }

    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable long id) {
        users.remove(id);
        return "success";
    }
}

4:测试API接口

启动Spring Boot应用,使用Postman工具测试以上API接口。测试示例如下:

  1. GET /users/{id}:访问http://localhost:8080/users/1,将会返回用户id为1的信息。

  2. POST /users/tj:提交JSON格式的用户数据,如{"id":1,"name":"Tom"},将会创建一个新的用户。

  3. PUT /users/gx:提交JSON格式的用户数据,如{"id":1,"name":"Jerry"},将会更新id为1的用户的姓名为Jerry。

  4. DELETE /users/{id}:访问http://localhost:8080/users/1,将会删除id为1的用户。

 常用注解

1:@RestController注解表示这个类是一个Restful API的控制器,可以处理HTTP请求并返回相应的数据

2:@RequestMapping:标识一个方法可以处理哪些路由请求。通过该注解来定义资源的访问路径、请求方法、参数传递方式、响应类型等信息。

3:@PathVariable:用来获取URL路径中的变量值,通常与@RequestMapping注解配合使用。

4:@RequestParam:用来获取客户端传递的请求参数,通常配合@RequestMapping一起使用。

5:@RequestBody:将HTTP请求体转换为一个Java对象,可以自动地将JSON/XML等格式的数据反序列化为Java对象。

总结

本文介绍了Restful架构风格的核心概念和优点,并演示了如何使用spring boot框架实现一个简单的Restful,并使用Postman工具测试API接口的功能。

Restful架构风格有助于提高Web应用程序的可伸缩性,使得系统更加灵活、易于维护和扩展

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值