gpt4 book ai didi

java - Spring MVC 请求映射明确禁止参数

转载 作者:行者123 更新时间:2023-11-30 11:43:28 28 4
gpt4 key购买 nike

我遇到了 Spring (3.1) 映射难题:我有一个简单的 findAll 方法:

@RequestMapping( method = RequestMethod.GET )
@ResponseBody
public List< User > findAll(){
return findAllInternal();
}

这映射到以下 URI(很好):/user

但是它也映射到:/user?bla=8,这并不好。

有没有办法明确指定这个特定映射不包含参数?我试图在 @RequestMapping 中指定 params 但我看不到这样做的明确方法。

感谢任何帮助。

谢谢。欧根。

最佳答案

您可以在@RequestMapping.param 属性中取反参数。

@RequestMapping( method = RequestMethod.GET, params = "!bla")

从 spring 3.1 开始,您不能明确禁止请求有参数。

但老实说,这几乎没有必要。

共有三种用例:

  1. bla 是一个已知参数,您可以明确允许/禁止。
  2. bla 是未知参数,可以忽略。
  3. 您想以特殊方式处理带有未知参数的请求(例如抛出错误)。

前两个可以在spring mvc中完成。第三个,据我所知,不能。

第三个选项也有潜在的危险,因为您必须非常小心客户端可以发送到您的服务器的参数(例如安全框架添加的内容等)。

关于java - Spring MVC 请求映射明确禁止参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11294317/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com