Spring boot Spring:如何从uri中获取值?

Spring boot Spring:如何从uri中获取值?,spring-boot,Spring Boot,callbackFacebook函数如何从uri获取代码的值 uri= 试试这个code是根据URL判断的查询参数,而不是路径变量。路径变量是路径本身的一部分(即,如果您的URL类似于/{code}/callback,那么代码就是路径变量) 如果您的URL是http://localhost:8081/callback?code=AQDNm6hezKdTsId5k4oXKNo然后是请求参数的情况,因此方法如下所示 @RequestMapping(value = "/callback", metho

callbackFacebook函数如何从uri获取代码的值

uri=


试试这个
code
是根据URL判断的查询参数,而不是路径变量。路径变量是路径本身的一部分(即,如果您的URL类似于
/{code}/callback
,那么代码就是路径变量)


如果您的URL是
http://localhost:8081/callback?code=AQDNm6hezKdTsId5k4oXKNo
然后是请求参数的情况,因此方法如下所示

@RequestMapping(value = "/callback", method = RequestMethod.GET)
public String callbackFacebook(Model model, @RequestParam(value = "code") String code) {
        return "login";
}
@RequestMapping(value = "/callback/{code}", method = RequestMethod.GET)
public String callbackFacebook(Model model, @PathVariable(value = "code") String code) {
        return "login";
}

如果您的URL是
http://localhost:8081/callback/AQDNm6hezKdTsId5k4oXKNo
那么路径变量的方法如下所示

@RequestMapping(value = "/callback", method = RequestMethod.GET)
public String callbackFacebook(Model model, @RequestParam(value = "code") String code) {
        return "login";
}
@RequestMapping(value = "/callback/{code}", method = RequestMethod.GET)
public String callbackFacebook(Model model, @PathVariable(value = "code") String code) {
        return "login";
}
请参阅以获得更好的清晰度。

我将解释两种方法

1-如果将其作为属性添加到项目中某个位置的会话中,则可以得到如下结果:

  @RequestMapping(value = "/callback?{code}", method = RequestMethod.GET)
    public String callbackFacebook(Model model, @PathVariable(name = "code") String code,HttpServletRequest request) {

        String code1 = request.getSession().getAttribute("code").toString();


        return "login";
    }
输出示例:AQDNm6hezKdTsId5k4oXKNo

2-你们可以直接获取URL。但你们需要解析URL。因为所有的URL都来了

@RequestMapping(value = "/callback?{code}", method = RequestMethod.GET)
    public String callbackFacebook(Model model, @PathVariable(name = "code") String code,HttpServletRequest request) {

        StringBuffer requestURL = request.getRequestURL();

        return "login";
    }

示例输出:

可能重复的After
,其查询,而不是路径。你可以从这里找到URI的语法。