后端实习日志
2021-07-21
报错:
spring-boot-maven-plugin:2.5.2:repackage failed: Unable to find main class
改正:
有俩个main启动,删掉一个。
昨天只是完成了增删改查
师傅要求删的时候postman上要用delete方法;改的时候用body,而不用param,用post方法;增的时候也是用body,用post方法。
主要内容
按id查用户
//按照id查询用户信息
@GetMapping(path = "/byId")
public @ResponseBody
//请求参数id映射绑定函数参数id,函数参数与数据库参数已在实体通过注解映射绑定
String getUserById(@RequestParam("id") Integer id) {
// This returns a JSON or XML with the users
User = userRepository.getUserById(id);
if(User != null) {
return "{\nid:" + userRepository.findById(id).get().getId() + ";\nname:" + userRepository.findById(id).get().getName() + ";\nemail:" + userRepository.findById(id).get().getName() + "\n}";
}
else
return "Your id is wrong.Please dial again!";
}
增
@PostMapping(path="/add") // Map ONLY POST Requests
public @ResponseBody String addNewUser (@RequestBody User newUser) {
// @ResponseBody means the returned String is the response, not a view name
// @RequestParam means it is a parameter from the GET or POST request
userRepository.save(newUser);
return "Saved";
}
删
//按照id删除用户
@DeleteMapping(path = "/deleteById")
public @ResponseBody
String delUser(@RequestParam("id") Integer id) {
User = userRepository.getUserById(id);
if(User != null) {
userRepository.deleteById(id);
return "deleted";
}
else
return "error";
}
改
//通过id对name字段进行更新
@PutMapping( path="/update")
public @ResponseBody
String update(@RequestBody User newUser) {
//if(id == User.getId();
if(newUser != null){
userRepository.save(newUser);
return "Updated";
}
else{
return "error";
}
}
@RequestBody后面跟类,不想@RequestParam后面跟数据类型
前者在poatman中用Body写json文件,后者在param中key-value中分别写数据名和内容。
userRepository.save(newUser);
save时不仅保存,还会更新。
查所有用户
@GetMapping(path="/all")
public @ResponseBody Iterable<User> getAllUsers() {
// This returns a JSON or XML with the users
return userRepository.findAll();
}
实现这些的话,只需要动controller层,不用管service业务层和其实现层。
师傅检查完后,要我在此基础上能实现文件在服务器上的上传和下载。
于是,我从官网上找了个待完成品。
https://spring.io/guides/gs/uploading-files/
其中许多storage中的properties和exception类需要下官网上的包。
这坑了我好久。
这里还有个网站,写了些关于官网各个主要类的注意点