我想通过我创建的API添加,编辑和获取用户。我可以在Postman上通过API请求添加用户并获取所有用户,但是在Postman上请求特定用户时,我无法获取数据,因为我得到的只是状态为200 OK的空响应。如何使用其国家ID获得特定用户的信息?
这是我的实体的样子;
public class users {
@Id
private String Id;
@Field("nationalId")
@JsonProperty("nationalId")
private String nationalId;
@Field("userName")
@JsonProperty("userName")
private String userName;
@Field("userEmail")
@JsonProperty("userEmail")
private String userEmail;
@Field("userPin")
@JsonProperty("userPin")
private String userPin;
@Field("userContact")
@JsonProperty("userContact")
private String userContact;
@Field("imageUrl")
@JsonProperty("imageUrl")
private String imageUrl;
@Field("loanLimit")
@JsonProperty("loanLimit")
private String loanLimit;
}
我的控制器类如下;
class Controller {
@Autowired
private user_service User_Service;
@PostMapping("/save_user")
private users save (@RequestBody users Users){return User_Service.save(Users);}
@PutMapping("/update_user")
private users update (@RequestBody users Users){return User_Service.update(Users);}
@GetMapping("/all")
private List<users> getAllusers(){return User_Service.getAllusers();}
@GetMapping("/user/{nationalId}")
private Optional <users> getusers(@PathVariable String nationalId) {return User_Service.getusers(nationalId);}
@DeleteMapping("/delete_user/{nationalId}")
private void deleteUser (@PathVariable String nationalId){User_Service.deleteUser(nationalId);}
}
我的用户服务如下:
public interface user_service {
users save (users Users);
users update (users Users);
List<users> getAllusers();
Optional<users> getusers(String nationalId);
void deleteUser (String nationalId);
}
答案 0 :(得分:0)
您需要在PathVariable批注中将name属性指定为@PathVariable(name="nationalId")
答案 1 :(得分:0)
您需要像这样的方法调用才能通过国家/地区ID获得具体信息。
Optional<user> getUserByNationalId(String nationalId);
让spring了解要获取的内容是什么,仅通过输入字符串就无法弄清楚。
(并且请重命名您的班级User
,而不是users
。该班级代表单个用户,也请使用骆驼套)