[英]Spring MVC - How do I call the same URL with different mapping annotations
[英]How do I get the continuation mapping from the URL in a Spring application?
我有這個 spring 應用程序,我想從 URL 獲取值,例如:
發送到 spring 應用程序的 url 是www.example.com/app/account/register
。 當我的代碼看起來像這樣時,如何在/account
之后獲取/register
部分。
在這個例子中,我使用了/register
但這也可以是/login
, /something
。
@RestController
@RequestMapping("/app")
public class MainController {
@RequestMapping(value = "/account")
public boolean AccountServer(@RequestHeader HttpHeaders httpHeaders, @RequestBody Map<String, String> payLoad){
return true;
}
}
您可以使用@PathVariable
注釋來獲取值。
@RestController
@RequestMapping("/app")
public class MainController {
@RequestMapping(value = "/account/{operation}")
public boolean AccountServer(@RequestHeader HttpHeaders httpHeaders,
@RequestBody Map<String, String> payLoad,
@PathVariable("operation") String operation){
return true;
}
}
使用 UriComponentsBuilder 作為參數,它將被 Spring 注入並使用當前 URI 進行初始化。 然后可以轉換為 UriComponents UriComponents來查詢路徑。
@RestController
@RequestMapping("/app")
public class MainController {
@RequestMapping(value = "/account")
public boolean AccountServer(UriComponentsBuilder builder, @RequestHeader HttpHeaders httpHeaders, @RequestBody Map<String, String> payLoad){
List<String> pathSegments = builder.build().getPathSegments();
...
return true;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.