@RestController
public class UserController {
@Autowired
private UserRepository userRepo;
//查询全部信息
@GetMapping(value = "/user")
public List<User> userList(){
return userRepo.findAll();
}
//查询单个信息
@GetMapping(value = "/user/{id}")
public User findById(@PathVariable("id") Integer id){
return userRepo.findById(id).orElse(null);
}
//根据非Id字段查询
@GetMapping(value = "/show/{age}")
public List<User> UserListByAge(@PathVariable("age") Integer age){
return userRepo.findByAge(age);
}
//使用实体类进行查询
@PostMapping(value = "entity")
public User entity(User user){
return userRepo.findUser(user.getId());
}
//添加用户信息
@PostMapping(value = "addUser")
public User add(@RequestParam("name") String name,@RequestParam("age") Integer age){
User user=new User();
user.setName(name);
user.setAge(age);
return userRepo.save(user);
}
//更新用户信息
@PostMapping(value = "updateUser/{id}")
public User update(@PathVariable("id") Integer id,@RequestParam("age") Integer age,@RequestParam("name") String name){
User user=new User();
user.setId(id);
user.setName(name);
user.setAge(age);
return userRepo.save(user);
}
//删除用户信息
@DeleteMapping(value = "/del/{id}")
public void delete(@PathVariable("id") Integer id){
userRepo.deleteById(id);
}
}
public interface UserRepository extends JpaRepository<User,Integer> {
List<User> findByAge(Integer age);//格式有规定,findBy+属性名
@Query(value = "from User where id=?1")
User findUser(Integer id);
}
POST请求的两种编码格式:application/x-www-urlencoded
是浏览器默认的编码格式,用于键值对参数,参数之间用&
间隔;multipart/form-data
常用于文件等二进制,也可用于键值对参数,最后连接成一串字符传输(参考Java OK HTTP)。除了这两个编码格式,还有application/json
也经常使用。
参考:https://www.jianshu.com/p/53b5bd0f1d44
multipart/form-data将表单中的每个input转为了一个由boundary分割的小格式,没有转码,直接将utf8字节拼接到请求体中,在本地有多少字节实际就发送多少字节,极大提高了效率,适合传输长字节
参考:https://blog.csdn.net/u013827143/article/details/86222486