PHP程序猿的Spring Boot之旅-Spring Boot实现restful api

在《PHP程序猿的Spring Boot之旅-Spring Boot项目创建》中已经可以搭建了Spring Boot的项目了,接下来我们使用Spring Boot实现restful api,对人员进行curd操作。

创建项目

创建项目的步骤请参考《PHP程序猿的Spring Boot之旅-Spring Boot项目创建》。

代码开发

创建entitycontroller包:

https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/spring-boot-study-demo/demo2/%E5%88%9B%E5%BB%BAentity%E5%92%8Ccontroller%E5%8C%85.png

添加实体和控制器

1.在entity包下添加Person实体,在controller包下添加PersonController控制器:

https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/spring-boot-study-demo/demo2/%E6%B7%BB%E5%8A%A0%E5%AE%9E%E4%BD%93%E5%92%8C%E6%8E%A7%E5%88%B6%E5%99%A8.png

2.实体和控制器的内容:

Person:

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
41
42
package cn.sockstack.demo.entity;

public class Person {
/**
* id
*/
private String id;

/**
* 姓名
*/
private String name;

/**
* 年龄
*/
private Integer age;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}
}

PersonController:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package cn.sockstack.demo.controller;

import cn.sockstack.demo.entity.Person;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;

@RestController
public class PersonController {
private static ConcurrentHashMap<String, Person> personHashMap = new ConcurrentHashMap<>();
/**
* 获取所有的person
* @return
*/
@GetMapping("/")
public Map<String, Person> getPerson() {
return personHashMap;
}

/**
* 新增person
* @return
*/
@PostMapping("/")
public Person storePerson(Person person) {
String uuid = UUID.randomUUID().toString();
person.setId(uuid);

personHashMap.put(uuid, person);

return person;
}

@DeleteMapping("/")
public Person deletePerson() {
return null;
}

/**
* 修改··
* @param id
* @param person
* @return
*/
@PutMapping("/{id}")
public Person editPerson(@PathVariable String id, Person person) {
Person person1 = personHashMap.get(id);

BeanUtils.copyProperties(person, person1, "id");

personHashMap.put(id, person1);

return person1;
}

/**
* 获取一个person
* @return
*/
@GetMapping("/{id}")
public Person getPerson(@PathVariable String id) {
return personHashMap.get(id);
}
}

启动程序后,打开postman进行curd测试即可。

SOCKSTACK wechat
关注内容更精彩