首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java Spring -使用@对URL终结点的字符进行编码

Java Spring -使用@对URL终结点的字符进行编码
EN

Stack Overflow用户
提问于 2018-10-19 04:47:58
回答 1查看 31关注 0票数 0

我有一个应用程序,它将Java Spring与REST端点结合使用。我们拥有的一个端点是GET调用,它在数据库中搜索URL,因此spring代码将类似于:

@GET
@Path("/search/{type}/{value}")
@Produces(MediaType.APPLICATION_JSON)
@ValidateRequest
@ApiOperation(value = "searchByTypeValue", nickname = "searchByTypeValue")
@ApiResponses(value = {
        @ApiResponse(code = 200, message = "Success", response = returnObject.class),
        @ApiResponse(code = 401, message = "Unauthorized"),
        @ApiResponse(code = 403, message = "Forbidden"),
        @ApiResponse(code = 404, message = "Not Found"),
        @ApiResponse(code = 500, message = "Failure")})

public @ResponseBody
    @Valid ArrayList<ReturnObjectVO> searchByTypeValue(
            @PathParam("type") String searchType,
            @PathParam("value") String searchValue){

        //do stuff
      }

这是基于他们想要搜索的内容的通用搜索,因此他们选择自己的搜索类型,然后键入要搜索的内容。因此,如果他们想要按ID进行搜索,他们得到的网址将如下所示:https://my.app.com/rest/search/Id/26816931。现在,我们也允许用户通过URL进行搜索,包括https://。为了解决端点中包含/的问题,我们在将/发送到服务器之前将其编码为@,因此如果用户通过http://my.otherApp.com进行搜索,则URL将看起来像https://my.app.com/rest/search/appURL/http:@@my.otherApp.com。然而,这导致了一个400错误,我知道它来自http://,,因为如果我删除它,我们就能够基于我们的匹配算法进行搜索。但是,我们可能会遇到包含http://my.otherApp.comhttps://my.otherApp.com的情况,因此我们希望包含该部分。你可以把@符号放成那样吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-19 05:04:42

base64在追加前对url进行编码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52882321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档