Rest API URL在spring boot中不起作用

时间:2018-01-23 08:15:59

标签: rest spring-boot

这是我在spring boot中的get方法

@GetMapping(value="/generateotp/{username}")
    public String generateOTP(@PathVariable(value = "username") String userName) {
        loginService.generateOTP(userName);
        return "OTP Generated";
    }

从我的其他客户端我正在使用Url

http://localhost:8080/generateotp/shaik.moulali

但它只是采取了shaik,它在''之后忽略了。部分。但是当我像http://localhost:8080/generateotp/shaikmoulali那样给予Url时。它正在接受。我能知道原因吗?

3 个答案:

答案 0 :(得分:0)

如果你想使用一些特殊字符,你必须为Spring设置一个正则表达式。 See this link https://stackoverflow.com/questions/16332092/spring-mvc-pathvariable-with-dot-is-getting-truncated

答案 1 :(得分:0)

通过在网址末尾添加/解决了问题。

http://localhost:8080/generateotp/shaik.moulali/

我们也可以通过在body中将该参数作为post请求来解决这个问题。

答案 2 :(得分:0)

.在您使用的方式上无效。如果要在URL中使用值,则应正确转义它们。 (shaik%2Emoulali)

Char that needs to be escaped

因此,当您打电话给您的控制器时,尝试发送已编码的网址,这应该有效。