簡體   English   中英

如何從 Spring 應用程序中的 URL 獲取延續映射?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM