「SpringBoot-View」 接口层

Posted by Dawn-K's Blog on July 3, 2020

接口层

[toc]

注解

1
2
3
4
5
6
// 用于前后端不分离
@Controller
// 用于前后端分离
@RestContoller
// 映射路径
@RequestMapping

架构

contorller

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@RestController
@RequestMapping("/user")
public class UserController {
    // 业务层是最容易变化的
    @Autowired
    private UserService userService;

    @Autowired
    private UserMapper userMapper;

    //    localhost:8888/user/all
    @GetMapping("/all")
    public List<User> getUsers() {
        return userService.getUsers();
    }

    //    如果不加RequestBody,就无法解析实体对象
    @PostMapping
    public User insert(@RequestBody User user) {
        userService.register(user);
        return user;
    }

    /*
     *修改
     */
    @PutMapping
    public User update(@RequestBody User user) {
        userMapper.updateById(user);
        return user;
    }

    //    等于替代了问号的写法
    @DeleteMapping("/{id}")
    public String delete(@PathVariable("id") Long id) {
        userMapper.deleteById(id);
        return "删除成功";
    }
}

postman进行测试

记住输入方式: 在 body 中, 选中 raw 然后右侧类型选择 json .

包扫描

只要调用, 就会加载@Config

  1. 根据包扫描路径去查找注解
  2. 根据注解生成对象
  3. 将对象放入到Spring容器(在内存中)里面

Spring 内部类似HashMap, 以键值对进行存取. 默认以类的首字母小写作为Key(准确的说是大驼峰变成了小驼峰, 也就是在使用 @Autowired 之后, 会产生的提示, 就像下文的uerMapper, 就是自动生成的)(也可以指定, 但是没太多必要)

1
2
@Autowired
private UserMapper userMapper;

对象的销毁和创建都由容器管理

依赖注入: DI IOC

json

响应格式

一般是响应代码 + 消息 用以反映当前的状态 200 : ok 403 : 权限不足 404 : 页面不存在 500 : 服务器错误 自定义的错误码最好避开http中的编码

1
@Date

会有get/set/toString, 也就是会覆盖自身写的toString() json几乎不会和数据库打交道, 一般都是 json <-> java <-> db , 所以json中的字段要和java的子段对应.

常见错误

添加可以没有id 修改一定要有 404: 找不到(看看写了之后有没有重启服务器) 500: 代码报错(一定要注意@RequestBody) 记住, 每次更改一定要重启服务器(热部署太麻烦)