새 사용자는 POST
메소드로 생성되며 이후에 데이터베이스에 고유 한 ID
이 첨부됩니다. 이는 토큰을 생성하는 데 필요합니다.Java 서비스에서 POST 후 컨텐츠를 반환하는 REST
토큰을 만드는 유일한 방법은 사용자 생성 과정입니다. 데이터베이스에서 쿼리 한 결과 이제는 ID
을 가져야하지만 어떻게 처리해야하는지 알 수 없습니다.
엔티티를 생성 한 직후 데이터베이스에서 엔티티를 검색 할 수있는 방법이 있습니까? 이 비슷한 질문에서 보았지만 대답을 찾을 수없는 경우
: Is it ok by REST to return content after POST?
@POST
@Consumes({MediaType.APPLICATION_JSON})
public Response create(@QueryParam("email") String email, @QueryParam("username") String userName, @QueryParam("password") String password) {
if (TextUtil.isEmpty(userName) || TextUtil.isEmpty(password) || TextUtil.isEmpty(email)) {
return Response.status(Response.Status.BAD_REQUEST).build();
} else {
User newUser = new User();
newUser.setEmail(email);
newUser.setUsername(userName);
newUser.setPass(password);
super.create(newUser); //ths line create user in database
String id = newUser.getUid() + ""; //the newUser has no id yet so it is null but I want this id from database
return Response.status(Response.Status.OK).entity("id: " + id).build();
}
}
이 super.method 만들기
public void create(T entity) {
getEntityManager().persist(entity);
}
나는이 튜토리얼 https://netbeans.org/kb/docs/websvc/rest.html
내 질문을 eddited 한 –
목록 super.create() 메소드를 추가하십시오. 고마워요 – coinhndp
''' super.create (newUser); super.getEntityManager(). flush(); super.getEntityManager(). find (User.class, newUser.getUId()) ''' –