2017-11-24 4 views
0

私は次のコントローラを持っているとしましょう。フィールドに@PathVariableを挿入するにはどうすればよいですか?

@RestController() 
@RequestMapping("/my/{path}") 
public class MyController { 

    public void some1(@PathVariable("path") String path) { 
    } 

    public void some2(@PathVariable("path") String path) { 
    } 

    public void some3(@PathVariable("path") String path) { 
    } 
} 

ここで、フィールドにpathを注入します。

// I usually do this with JAX-RS 
@RequestScope // I added this! 
@RestController() 
@RequestMapping("/my/{path}") 
public class MyController { 

    public void some1() { 
    } 

    public void some2() { 
    } 

    public void some3() { 
    } 

    // single declaration for all methods 
    // I know ElementType.FIELD is not one of @PathVariable's target 
    // Is there any equivalent way to do this with Spring? 
    @PathVariable("path") 
    String path 
} 

コンパイルされません。

どうすればいいですか?

+0

いいえ、 '@ PathVariable'を行うことができない、その理由あなたは これをしたいですか? – Blank

+0

目的は何ですか? –

答えて

0

リクエストURL:/ A/B/CメソッドパラメータがURIテンプレート変数にバインドする必要があることを示し

private String some; 

@RequestMapping(value = "https://stackoverflow.com/a/{some}/c") 
public void some(@PathVariable("some") String some) { 
    this.some = some; 
} 
-1

@PathVariable注釈。

例:

@ResponseBody 
 
RequestMapping(value="/myapp/{id}") 
 
public String method(@PathVariable("id") int id){ 
 
\t return "id="+id; 
 
} 
 
\t 
 

 
@ResponseBody 
 
@RequestMapping(value="/myapp/{id:[\\d]+}/{name}") 
 
public String method(@PathVariable("id") long id, @PathVariable("name") String name){ 
 
\t return "id= "+id+" and name="+name; 
 
}
は、以下のリンクのためのより多くを参照してください。

Spring mvc @PathVariable

https://www.journaldev.com/3358/spring-requestmapping-requestparam-pathvariable-example

関連する問題