不是重复的引用问题,因为它是Spring特有的。谁补充了这一点(事实发生三年后!)都不想去看问题或评论主题来看看真正的答案是什么。接受的答案并不完全是答案,但是答案的作者从未回过头来按照我的要求进行编辑。
给定下面的宁静方法,Spring 3.1给出了400错误,“客户端发送的请求在语法上不正确()。” 当token参数包含URL编码的斜杠(%2F)时,如果没有%2F精细。第三方已经在呼叫此服务(当然!),因此至少在短期内,我无法更改其发送的内容。关于如何在服务器端解决此问题的任何想法?
尽管该问题与我没有使用的UriTemplate有关,可以告诉我。
@RequestMapping("/ws/stuff/**")
@Controller
public class StuffController {
@RequestMapping(value = "/ws/stuff/lookup/resourceId/{resourceId}/token/{token}/userName/{userName}", method = RequestMethod.GET)
public @ResponseBody
String provisionResource(@PathVariable("resourceId") String resourceId, @PathVariable("token") String token, @PathVariable("userName") String userName, ModelMap modelMap,
HttpServletRequest request, HttpServletResponse response) {
return handle(resourceId, userName, request, token, modelMap);
}
}
注意:这是在Glassfish 3.1.2上使用的,起初是Grizzly / Glassfish不接受斜杠,但是
-Dcom.sun.grizzly.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
解决这个问题。
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-2.http.encoded-slash-enabled=true
似乎没有帮助。
我建议不要将其放在路径中,而是将其移至请求参数。
解决:
你可以将RequestMapping更改为
@RequestMapping(value = "/ws/stuff/lookup/resourceId/**", method = RequestMethod.GET)
然后从请求对象中手动解析路径变量。
网址:http://localhost:8080/admin/users/8VHlQMoMAeGAfwADT/tM2Q== 当我尝试使用高级rest客户endpoint击上面的URL时,我得到了400:错误的请求。我需要通过URl编码在URl路径中传递特殊字符。但/不被接受。如何让jboss接受url中的斜杠编码?请帮忙。
问题内容: 例如,采取以下两条路线。 根据文档,可以理解以下内容: 在第一种情况下,对路线的请求将返回404响应。已验证。 在第二种情况下有效,并将重定向到 我想看到的行为是 “逆” 的 情况下,两个 行为。例如将重定向到而不是其他方式。有没有办法定义采取此行为的途径? 根据我的理解,可以在路由上设置有效地获得第一种情况下第二种情况下的相同行为,但是我想做的是获得重定向行为,以始终将其重定向到UR
问题内容: 我在AngularJS路由方面遇到了一个大问题。 直到最近,通过以下路线一切都很好: 并使用href: 但是,现在所有的斜杠都被编码为。 因此,当我单击链接或键入浏览器时,URL更改为: http:// localhost:8000 /#%2Falbum%2F1 我已经尝试了几种方法来纠正此问题: 在Windows 10上使用ng- href代替href,不使用第一个/(即)在Home
我正在使用Spring Cloud Zuul和Eureka的解决方案。REST应用程序向Eureka注册,Zuul通过Eureka Service Discovery提供对服务的访问。 我必须将REST应用程序配置为接受URL中的斜杠编码: 要在Spring Boot REST应用程序中接受编码的破折号,请执行以下操作: 在WebSecurity配置适配器中,出于相同的目的。以及: 在中跳过解码u
斜杠的数目可以是任意数目。如何在java中规范化路径,比如:
问题内容: 我正在尝试将AngularJS 与结合使用。但是,当我设置哈希时,AngularJS在其后添加一个正斜杠。 例如,网址为:。当我不包括AngularJS库时,我可以单击链接,然后转到。 但是,当我包含AngularJS并单击链接时,它将导致$ anchorScroll无法工作。 编辑$ anchorScroll不起作用 起始URL是。当我添加类别时,它应该转到(其中id是新ID)并向下