Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC端点在将空映射{}传递到GET请求时未获取_Java_Spring_Hibernate_Spring Mvc_Endpoint - Fatal编程技术网

Java Spring MVC端点在将空映射{}传递到GET请求时未获取

Java Spring MVC端点在将空映射{}传递到GET请求时未获取,java,spring,hibernate,spring-mvc,endpoint,Java,Spring,Hibernate,Spring Mvc,Endpoint,在端点抓取中面对问题 下面是我调用api获取响应时的情况 http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD 但当我设置以下数据时,它不起作用,任何机构都能帮助我解决这个问题 http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data={} @RequestMapping(valu

在端点抓取中面对问题

下面是我调用api获取响应时的情况

http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD

但当我设置以下数据时,它不起作用,任何机构都能帮助我解决这个问题

http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data={}

@RequestMapping(value = "/apps/{appId_}/users/{username_}", method = RequestMethod.GET)
@ResponseBody
@Transactional
public UserResponseDTO getUserAndToken(@PathVariable Long appId_, @PathVariable String username_, @RequestParam("password") String password_, @RequestParam("data") String datas) throws Exception {
//do stuff
}
编辑


当另一个版本
7.0.73,8.0.x+
不工作时,它的任何编辑都会出现问题。

您忘记在
值=“/apps/users/{username\u}”中指定{appId}

修复:
value=“/apps/{appId}/users/{username}”

~~~

您的方法接受
@RequestParam(“数据”)字符串数据
您正在发送
data={}

字符串应该被引用,因此修复程序是
data=“

您忘记在
value=“/apps/users/{username}”中指定{appId}

修复:
value=“/apps/{appId}/users/{username}”

~~~

您的方法接受
@RequestParam(“数据”)字符串数据
您正在发送
data={}

字符串应该被引用,因此修复是
data=”“
这种行为会影响
Tomcat
的主要更新

为了快速修复,您可以降级到一个较旧的版本,我使用
7.0.63
降级了tomcat

springmvc
上获得更多的研发后,它将拒绝请求,同时将无效字符列表添加到下面列出的请求中

排除URI语法中不允许的US-ASCII字符:

   control     = <US-ASCII coded characters 00-1F and 7F hexadecimal>
   space       = <US-ASCII coded character 20 hexadecimal>
   delims      = "<" | ">" | "#" | "%" | <">
以下字符在查询组件中保留,在URI/URL中具有特殊含义:

  reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

解决方案:

encodeURI("http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data={}")
> http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data=%7B%7D

这种行为会影响
Tomcat
的主要更新

为了快速修复,您可以降级到一个较旧的版本,我使用
7.0.63
降级了tomcat

springmvc
上获得更多的研发后,它将拒绝请求,同时将无效字符列表添加到下面列出的请求中

排除URI语法中不允许的US-ASCII字符:

   control     = <US-ASCII coded characters 00-1F and 7F hexadecimal>
   space       = <US-ASCII coded character 20 hexadecimal>
   delims      = "<" | ">" | "#" | "%" | <">
以下字符在查询组件中保留,在URI/URL中具有特殊含义:

  reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | ","

解决方案:

encodeURI("http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data={}")
> http://localhost:28080/restServices/apps/1762/users/USERNAME/?password=PASSWORD&data=%7B%7D

我已经添加到代码中,但在这里错误地删除了。但仍然无法尝试修复“数据”字符串。因此我需要设置类似wise`、@RequestParam(“数据”)字符串data``的内容@sovas我按照你说的进行设置,但仍然不起作用。它正在工作到字符串中,但希望将空映射传递到GET请求中。你能尝试查看我的请求吗?那么你想要字符串数据或映射数据吗?已经包含到我添加的代码中,但这里错误地删除了。但仍然无法尝试修复“数据”字符串。因此,我需要设置如下内容wise`、@RequestParam(“数据”)字符串数据)`@sovas我根据你说的设置,但仍然不工作。它正在工作到字符串中,但希望将空映射传递到GET请求中。请尝试查看我的请求。因此,您想要字符串数据或映射数据吗?