如何通过国家/地区ID获得特定用户

时间:2020-01-25 14:17:07

标签: java spring rest spring-boot

我想通过我创建的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);

}

2 个答案:

答案 0 :(得分:0)

您需要在PathVariable批注中将name属性指定为@PathVariable(name="nationalId")

答案 1 :(得分:0)

您需要像这样的方法调用才能通过国家/地区ID获得具体信息。

Optional<user> getUserByNationalId(String nationalId);

让spring了解要获取的内容是什么,仅通过输入字符串就无法弄清楚。

(并且请重命名您的班级User,而不是users。该班级代表单个用户,也请使用骆驼套)