私はJavaが初めてで、文字列を暗号化/復号化するためのユーティリティAPIを作成しようとしています. コントローラーとリクエストのマッピングが機能しており、暗号化/復号化メソッドが機能しています。
私が直面している問題は、スラッシュ ('/') を含む文字列を復号化することです。URL でエンコードされていないままにしておくと ( などhttp://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC/4Oqpu7FZQ==
)、URL ルーティングが中断されます (これは明らかな理由です)。
URL エンコードすると ( などhttp://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC%2F4Oqpu7FZQ==
)、パス変数の値は空になります。
http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC
また、 (スラッシュなし) が正常に機能することにも注意してください。
'%' をパス変数に入れるたびに、応答として空白のページが表示されるようです。メソッドにヒットしません。例外をスローしません (私が見つけることができる - 繰り返しますが、私はまだ環境を学んでいます)
次のように示されるパス変数のみを出力するように復号化メソッドを簡素化しましたdata
@RequestMapping(value = "/util/decrypt/{data}", method = RequestMethod.GET)
@ResponseBody
public String decrypt(HttpServletResponse httpResponse,
@PathVariable String data) throws Exception
{
return data;
// return URLDecoder.decode(data, "UTF-8");
}
何が起こっているのか、どうすればこれを機能させることができるのか、誰かが私に説明できますか?
どうもありがとう!!