@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