当前位置: 首页 > 知识库问答 >
问题:

如何获取包含问号的参数(?)来自spring中的rest url

左丘凡
2023-03-14

我需要从url得到字符串在哪里是“?”但是控制器不接受“?”

我需要发送一些类似“你好世界?”但我只得到“你好世界”

我找到了点(.)的解决方案--value=“{texttoTransform:.+}”

@RestController
@RequestMapping(textTransformCtrl.BASE_URI)
public class textTransformCtrl {

    @Autowired
    private TextTransformatorService textTransformatorService;

    public static final String BASE_URI = "transform/text";

    @RequestMapping(value = "{textToTransform:.+}")
    public String getText(@PathVariable final String textToTransform) {

        return textTransformatorService.transformText(textToTransform);
    }
}

共有1个答案

林弘文
2023-03-14

问号是URL中的保留字符。它指示查询字符串的起始位置。

如果要将作为参数值发送并能够在服务器端读取,则必须对其进行URL编码。

URL编码后,Hello World?变为Hello+World%3f

 类似资料:
  • 我正在使用Spring、REST和Hibernate创建一个web应用程序。在这里,我从数据库中提取记录使用唯一的用户名,这是来自URL。但问题是,如果我写的是简单字符串,那么它可以正常工作,但在username中,我写的是dot(.)则数据库中没有任何结果。 这是我的控制器 这是我的DAO类

  • 问题内容: 我的应用程序中有一个奇怪的异常,我想记录它发生的时间,并包括完整的请求字符串(包括参数)。 当我尝试 我得到了请求字符串,但没有得到包含的参数?和&。 例: 我只看到 我可以把整个字符串放在某个地方吗? 问题答案: 参见HttpServletRequest#getQueryString() 如果需要整个字符串,则必须将请求url和查询字符串附加在一起,因为没有方法可以获取整个字符串。

  • 以下几年前的帖子概述了在testng套件xml中指定方法级参数的可能性: 例如,需要将ID传递给方法,该方法将是唯一的(每个配置): 这还有可能吗?我没有看到它提到在测试留档。(我需要在方法级别包括一个特定的参数,而不是测试级别) 如果这是可能的,我如何获得方法参数的值,因为它似乎没有在测试用例类文件中使用@Parameters获得。 引用的帖子确实指使用: 但是,如果这仍然适用,一些关于将其放在

  • 本文向大家介绍如何获取路由传过来的参数?相关面试题,主要包含被问及如何获取路由传过来的参数?时的应答技巧和注意事项,需要的朋友参考一下 如果使用方式传入的参数使用 接收 如果使用方式传入的参数使用接收 参考:路由组件传参

  • 我使用的是Spring Security3.1,我想在用户登录之前从URL获取参数。所以我希望正在访问我的登录页面的用户发送给我一个redir参数(包含他想要在他通过身份验证后转到的URL)。当我请求页面时,而不是当我尝试提交表单以登录时。 更新以获取更多信息:我的登录页面相当简单,基本上是:一个表单通过POST方法调用/j_spring_security_check(带有j_username和j