第03章—打造RESTful风格API

Posted 质行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第03章—打造RESTful风格API相关的知识,希望对你有一定的参考价值。

spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html

码云源码地址:https://gitee.com/jinxiaohang/springboot

 

一、解释RESTful什么意思

套用一下百科的话:REST(英文:Representational State Transfer,简称REST,中文名RESTful)一种软件架

构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。

基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

如要详细了解可参考:http://www.ruanyifeng.com/blog/2014/05/restful_api.html

 

二、快速实现RESTful风格API(功能没有实现)

添加entity包中添加User实体类

public class User {

    private String userId;
    private String username;
    private String password;

    public User() {

    }

    public User(String userId, String username, String password) {
        this.userId = userId;
        this.username = username;
        this.password = password;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

在controller包中添加User控制类

import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/user/*")
public class UserController {

    private final static List<User> userList = new ArrayList<>();

    {
        userList.add(new User("1", "admin", "123456"));
        userList.add(new User("2", "jacks", "111111"));
    }

    @GetMapping("list")
    public List userList() {
        return userList;
    }

    @PostMapping("save")
    public boolean save(User user) {
        return userList.add(user);
    }

    @PutMapping("update")
    public boolean update(User user) {
        return userList.remove(user) && userList.add(user);
    }

    @DeleteMapping("delete")
    public boolean delete(@RequestBody List<User> users) {
        return userList.removeAll(users);
    }
}

三、测试RESTful风格API

用火狐浏览器或者postmen等工具。

http://localhost:8080/user/list接口:通过get请求可以通过

 

 http://localhost:8080/user/save接口:get请求不能通过,只能通过post请求通过。

 

 其他接口需要对应类型的请求才能通过,RESTful API就是这样,不同功能的接口需要通过不同类型的请求访问。

 

下一章将学习SpringBoot整合MyBatis,实现本章接口具体功能。

以上是关于第03章—打造RESTful风格API的主要内容,如果未能解决你的问题,请参考以下文章

Springboot第五章 接口架构风格 — RESTful

主流技术栈的Restful API接口测试实战

PHP实现Restful风格的API

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

PHP实现Restful风格的API(转)

PHP实现RESTful风格的API实例