0
봄에 GET 웹 서비스 내부에서 사용되는 매개 변수의 이름을 바꿀 수 있습니까? 다음 예제 search.limitResults
처럼 :@RestController에서 compex @RequestParams의 속성 이름을 지정하는 방법은 무엇입니까?
localhost:8080/firstname=test&search.limitResults=10
당신은 아이디어를 얻을. 이것이 성취 될 수 있습니까?
@RestController
public class MyServlet {
@RequestMapping(value = "/", method = RequestMethod.GET)
private String test(RestParams p) {
}
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RestParams {
private String firstname;
private String lastname;
//is that possible to nest?
@XmlElement(name = "search")
private MyComplexSearch search;
public MyComplexSearch getSearch() {return search;}
public void setSearch(MyComplexSearch) {this.search = search;}
@XmlRootElement(name = "search")
@XmlAccessorType(XmlAccessType.FIELD)
public class MyComplexSearch {
private int limitResults;
//some more
}
}
요청은 위 코드에서 작동하지 않습니다. 대신 객체 이름으로 myComplexSearch
을 사용해야합니다.
localhost:8080/firstname=test&myComplexSearch.limitResults=10
어떻게 자바 클래스 자체의 이름을 변경하지 않고, 입력 속성의 이름을 다시 정의 할 수 있습니까?
'get/setSearch'가있는 경우 작동합니다. –
나는 실제로 이런 식으로 이름을 붙 였지만 (위 편집 참조), 여전히 같은 문제입니다. – membersound
실제로이 방법이 실제로 나타난 것처럼 작동한다면 그냥 작동해야합니다. 그렇지 않은 경우 여기에 제시된 방법을 사용하지 않거나 잘못 구성된 것입니다. –