2

Java MVCコントローラーで、アノテーション@RequestMapping("/getThisValueFromOtherClass")の値を取得する方法は? Javaリフレクションを使用してこれを抽出できることは知っていますが、他に方法はありますか? ありがとうございました。

@RequestMapping("/getThisString")
public class MyController{}
4

4 に答える 4

2

目的がすべての場所で URL を変更することを避けることだけである場合は、一部のクラスで文字列定数を定義し、リクエスト マッピングでハードコードされた文字列を使用する代わりに、その定数をあらゆる場所で使用することをお勧めします。将来、URL を変更したい場合は、1 つの場所で定数値を単純に更新します

final String constUrl = "/myurl";

@RequestMapping(値=constUrl)

別のクラスで定義する場合、定数を静的にすることができます

于 2013-11-09T13:55:10.633 に答える
2

注釈の値は、プログラムで読み取ることができます。

@RequestMapping("/endpoints")
public ResponseEntity<String> getPath() {
    String path = getClass().getAnnotation(RequestMapping.class).value()[0];
    return new ResponseEntity<String>(path, HttpStatus.OK);
}
于 2015-03-11T18:25:50.243 に答える
1

パスを取得するには、リクエスト、つまり HttpServletRequest をパラメーターとしてハンドラー メソッドに渡す必要があります。

@RequestMapping(value={"/getThisString"}, method=RequestMethod.GET)
public String handlerMethod (Model model, HttpServletRequest request) throws Exception {             
   String getThatString = request.getServletPath(); 
   ....
}

参照:

于 2013-11-09T13:40:20.007 に答える