Как получить определенного пользователя c по его национальному идентификатору - PullRequest
0 голосов
/ 25 января 2020

Я хотел бы добавлять, редактировать и получать пользователей через API, который я создал. Я могу добавлять пользователей и добавлять всех пользователей через запросы API на Postman, но я не могу получить данные для определенного пользователя c, когда я запрашиваю его на Postman, поскольку все, что я получаю, - это нулевой ответ со статусом 200 OK. Как я могу получить указанную c информацию о пользователе, используя его национальный идентификатор?

Так выглядит моя сущность;

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 голосов
/ 25 января 2020

вам нужен вызов метода, подобный этому, чтобы получить спецификацию c по национальному идентификатору.

Optional<user> getUserByNationalId(String nationalId);

для весны, чтобы понять, что вы хотите получить, но не могу понять это просто передавая строку.

(И, пожалуйста, переименуйте ваш класс User, а не users. Класс представляет одного пользователя, а также, пожалуйста, используйте верблюжий корпус)

0 голосов
/ 25 января 2020

Вам необходимо указать атрибут имени в аннотации PathVariable как @PathVariable(name="nationalId")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...