私はspring-mvc3.1コントローラー用のインターフェースを持っています。
public interface RestCRUDOperations<T> {
@RequestMapping(value = "/{id:\\d+}",
method = RequestMethod.GET,
produces = "application/json")
public ResponseEntity<T> getById(@PathVariable("id") String sourcId);
//other code omitted
}
私が観察したのは、クラスの実装では、@ RequestMappingアノテーションはまだ有効でしたが(メソッドの実装にコピーする必要はありませんでした)、パラメーターの前の対応する場所にアノテーションをコピーして貼り付けるまで、@PathVariableは有効ではありませんでした。これを回避する方法があるかどうか誰かが知っていますか?および/またはSpringは、これを修正しようとしているバグまたは何かとして認識していますか?
編集:-1つの醜い方法は、メソッドを変換する抽象クラスを持つことです。つまりpublic abstract class RESTAdapter implements RestCRUDOperations
、これらのメソッドに最終的な実装を提供し、2つの抽象メソッドに委任します。この抽象クラスは、コントローラーが拡張するものです。
自動化されたものが欲しかった。