一 简单应用
1 编写REST程序
2 运行Spring Boot应用
3 使用HTTP请求工具:PostMan
二 场景说明
1 定义用户模型,包括属性:用户ID和名称
2 客户端发送POST请求,创建用户(Web MVC)
3 客户端发送GET请求,获取所有用户(Web Flux)
三 postman工具介绍
下载地址
四 构建过程
2 使用网页的Spring Initializer快速创建Spring Boot项目
3 下载并解压
下载得到first-app-demo.zip
解压为first-app-demo
4 导入新项目
关闭所有的项目后就可以导入新项目
5 生成项目结构图如下:
五 代码
1 domain层
package com.imooc.firstappdemo.domain;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
2 repository层
package com.imooc.firstappdemo.repository;
import com.imooc.firstappdemo.domain.User;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
@Repository
public class UserRepository {
private final ConcurrentMap<Integer,User> repository = new ConcurrentHashMap<>();
private final static AtomicInteger idGenerator= new AtomicInteger();
public boolean save(User user){
//ID从1开始
Integer id=idGenerator.incrementAndGet();
user.setId(id);
return repository.put(id,user)==null;
}
}
3 controller层
package com.imooc.firstappdemo.controller;
import com.imooc.firstappdemo.domain.User;
import com.imooc.firstappdemo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
private final UserRepository userRepository ;
@Autowired
public UserController(UserRepository userRepository) {
this.userRepository = userRepository;
}
@PostMapping("/person/save")
public User save(@RequestParam String name){
User user=new User();
user.setName(name);
if(userRepository.save(user)){
System.out.printf("用户对象:%s 保存成功 \n",user);
}
return user;
}
}
五 运行
六 测试结果
七 参考