2016-12-20 5 views
0

경로 변수로 엔티티 ID를 사용하는 Spring-RS에서 일부 REST 끝점을 얻었습니다. 대부분의 경우 메소드가 수행하는 첫 번째 작업은 id를 사용하여 엔티티를 검색하는 것입니다. 메서드 매개 변수로 엔티티 만 갖는 엔티티에 자동으로 ID를 매핑하는 방법이 있습니까?spring-rest에서 경로 변수를 엔티티에 매핑하는 방법

현재 상황은 : 내가 좋아하는 것이 무엇

@RequestMapping(path="/{entityId}) 
public void method(@PathVariable String entityId) { 
    Entity entity = entityRepository.findOne(entityId); 
    //Do some work 
} 

은이합니다 :

@RequestMapping(path="/{entityId}) 
public void method(@PathVariable Entity entityId) { 
    //Do some work 
} 
+0

'@RequestMapping (경로 = "/ {ENTITYID}) 공공 무효 방법 (@PathVariable 문자열 ENTITYID) { 엔티티 전자 = 새로운 엔티티 (ENTITYID) 가}' 당신은에 PathVar를 매핑 할 수 없습니다 엔티티의 일부 또는 전부를 나머지 요청의 페이로드에 넣을 수 있습니다. – Zorglube

답변

0

당신이 뭔가를 할 수 있습니다

@RequestMapping(value = "/doctor/appointments/{start}/{end}", produces = "application/json") 
@ResponseBody 
public List<Appointment> showAppointments(Model model, @ModelAttribute("start") Date start, 
     @ModelAttribute("end") Date end, Principal principal) { 

} 

는 사용자 정의 개체를 가져 봄이 것 매개 변수를 제공된 유형으로 변환 해보십시오.

보안상의 이유로 대부분의 시간을 선호합니다.

+0

여기서 문제는 클라이언트가 제공 한 데이터뿐만 아니라 요청에 의해 생성 된 엔티티가 데이터베이스에 있어야 함입니다. – Teocali