我必須在SpringBoot應用程序中使用@PathValiable從URL獲取參數。這些參數通常有斜線。我無法控制用戶在URL中輸入的內容,因此我想要獲取他輸入的內容,然後我可以處理它。SpringBoot中的@PathVariable在URL中使用斜槓
我已經瀏覽過這裏的資料和答案,我不認爲對我來說,最好的解決方案是讓用戶以某種方式編碼輸入的參數。
的SpringBoot代碼很簡單:
@RequestMapping("/modules/{moduleName}")
@ResponseBody
public String moduleStrings (@PathVariable("moduleName") String moduleName) throws Exception {
...
}
因此,例如URL可能如下:
http://localhost:3000/modules/...
的問題是,帕拉姆MODULENAME往往有斜線。 例如,
metadata-api\cb-metadata-services OR
app-customization-service-impl\\modules\\expand-link-schemes\\common\\app-customization-service-api
所以definetely用戶可以輸入:
http://localhost:3000/modules/metadata-api\cb-metadata-services
這是可能得到什麼用戶後/模塊/在網址中輸入的一切嗎?
如果有人告訴我什麼是處理此類問題的好方法。
我可以調用_localhost:8080/modules/abc_返回「模塊名稱爲:abc」和_localhost:8080/modules/abc/def_,它返回「模塊名稱爲:abc/def」。你是否在url中加入了反斜槓? –
它真的進入了這個方法。那很好。但是,由於某些原因它出現在循環中(每次都會返回MANY TIMES和moduleName更改語句)。 –
太棒了!只需添加@ResponseBody。這真的很有用! –