UriComponentsBuilder和UriComponents url编码
生活随笔
收集整理的這篇文章主要介紹了
UriComponentsBuilder和UriComponents url编码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Spring MVC 提供了一種機制,可以構造和編碼URI -- 使用UriComponentsBuilder和UriComponents。
功能相當于?urlencode()函數,對url進行編碼,?但同時還支持變量替換
UriComponents uriComponents = UriComponentsBuilder.fromUriString("http://example.com/hotels/{hotel}/bookings/{booking}").build();URI uri = uriComponents.expand("42", "21").encode().toUri();
嗯,expand()是用于替換所有的模板變量,encode默認使用UTF8編碼。
注意,UriComponents是不可變的,expand()和encode()都是返回新的實例。
?
你還可以這樣做:
UriComponents uriComponents = UriComponentsBuilder.newInstance().scheme("http").host("example.com").path("/hotels/{hotel}/bookings/{booking}").build().expand("42", "21").encode();
在Servlet環境中,使用子類ServletUriComponentsBuilder提供的靜態工廠方法可以從一個Servlet request中獲取有用的URI信息:
HttpServletRequest request = ...// Re-use host, scheme, port, path and query string // Replace the "accountId" query paramServletUriComponentsBuilder ucb = ServletUriComponentsBuilder.fromRequest(request).replaceQueryParam("accountId", "{id}").build().expand("123").encode();
https://www.cnblogs.com/larryzeal/p/6131664.html
?
總結
以上是生活随笔為你收集整理的UriComponentsBuilder和UriComponents url编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python--列表与字典
- 下一篇: MariaDB 10.3 主主半同步复制