一 简单应用
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; } }
五 运行
六 测试结果
七 参考