스프링 컨트롤러 정의에서 도움말을 찾고 있습니다. 나는 몇 번 구글을 시도했지만, 나의 목표를 성취하는 방법에 대한 직접적인 설명을 발견하지 못했습니다.요청 매개 변수를 일반 클래스로 변환
나는 일반적인 컨트롤러를 정의하고 싶습니다 : 그 후
public abstract class AbstractController<E extends AbstractEntity,
P extends IRequestParams> {
@RequestMapping(method = GET)
public @ResponseBody
abstract List<E> list(@RequestParam P params);
}
을 내가 좋아하는 컨트롤러를 선언합니다 :
public class CatController
extends AbstractController<Cat, ICatSearchParams> {
@RequestMapping(method = GET)
public @ResponseBody
List<Cat> list(@RequestParam ICatSearchParams params) {
// do something and return list of results
}
}
나는 일반적인 방법으로 IRequestParams
에 @RequestParam Map<String, String[]> params
변환 서비스가있다. Spring을 통해 제네릭 형식을 해결할 수 있습니다.
하지만 Spring에 연결하여 요청 매개 변수를 자동으로 params 인터페이스로 변환하고 메서드 호출에 사용하는 방법을 모르겠습니다. 이 변환은 개발자가 구성한 후에 투명하게 보이기를 바랍니다.
도움을 주셔서 감사합니다.
봄'변환기'또는'WebArgrumentResolver'가 제네릭 형식을 올바르게 해석 할 수 있는지 모르겠으므로 전체 구조가 결국 작동하는지 확실하지 않습니다. – Ralph