私はこのルートを機能させようとしています:
http://localhost:8080/api/settings/http%3A%2F%2Fdbpedia.org%2Fresource%2FApplication_software
http://dbpedia.org/resource/Application_softwareは、設定を取得する項目の ID です。代わりに、私はこれを機能させました:
http://localhost:8080/api/settings/http://dbpedia.org/resource/Application_software
URL http://dbpedia.org/resource/Application_softwareの後に他のパラメーターを渡したい場合、これは明らかに良くありません。
Get 関数のコードは次のとおりです。
@GET
@Path("/settings/{uri:^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]}")
public Response getUriSettings(
@PathParam("uri") String uri,
@Context final HttpServletResponse response) {
logger.debug("getting settings of " + uri);
...
正規表現を使用してパラメーターに URL があることを検証していますが、この urlencoded を渡すことはできません...
この問題を回避して、その URL ID をリクエストでエンコードするにはどうすればよいですか?
ありがとう!