0
STS 2.8.1 및 Spring 3.1.1.RELEASE를 사용하고 있습니다. Spring MVC 추상 컨트롤러 :: 추상 컨트롤러 인터페이스 구현시 정확한 메서드 서명을 얻는 방법
은 내가 STS에서 컨트롤러를 확장 할 때 그것은 나에게 내가 그 @RequestMapping을 이해@Override
public OAuthEntity setOAuthEntity(OAuthEntity oAuthEntity) {
// TODO Auto-generated method stub
return null;
}
@Override
public OAuthEntity getOAuthEntity(Long id) {
// TODO Auto-generated method stub
return null;
}
아래와 같은 메소드 서명을 제공
public abstract class SuperController {
@RequestMapping(value = "/Entity", method = RequestMethod.POST, headers = "Accept=application/xml,application/json")
public abstract @ResponseBody OAuthEntity setOAuthEntity(@RequestBody OAuthEntity oAuthEntity);
@RequestMapping(value = "/Entity/{id}", method = RequestMethod.GET, headers = "Accept=application/xml,application/json")
public abstract @ResponseBody OAuthEntity getOAuthEntity(@PathVariable("id") Long id);
}
아래 같은 추상 컨트롤러가 잘 계승하고 I 또한 코드를 테스트했습니다 (작동합니다!). 내가 원하는 것은 수퍼 클래스를 확장 할 때 추상 클래스처럼 @ResponseBody, @PathVariable ("id") 및 @RequestBody를 가져야한다는 것입니다. 물론
I (즉 내가 뭐하는 거지하지만 더 우아한 방법을 부탁합니다) 수동으로 편집 할 수있는 서브 클래스가
@Override
public @ResponseBody OAuthEntity setOAuthEntity(@RequestBody OAuthEntity oAuthEntity) {
@Override
public @ResponseBody OAuthEntity getOAuthEntity(@PathVariable("id") Long id) {
아래에 나와 있지만 좌절을 죽이고되지 않는 등의 방법 서명을 가질 수 있도록 수동으로 작성해야합니다. 도움을 주시면 대단히 감사하겠습니다.
저는 여러 컨트롤러에서 동일한 메소드 서명을 원했기 때문에 부모/자식 관계가 필요했습니다. 그런 식으로 다른 컨텍스트에 대해 서로 다른 구현을 할 수 있습니다. 슈퍼 컨트롤러는 OauthController이고 아이들은/google,/facebook 등입니다. – user1259352