gpt4 book ai didi

java - 在 Controller 方法中显式获取 post 参数或 query 参数

转载 作者:行者123 更新时间:2023-11-30 02:34:26 25 4
gpt4 key购买 nike

我正在使用@RequestParam注解指示 Spring MVC 将“Web 请求参数”(如 Javadoc 所称)注入(inject)到我的代码中的方法调用中:

@RequestMapping(path="/signup-submit", method=RequestMethod.POST)
public String signupSubmit(@RequestParam(value="originURL", required=true) String originURL ...) {
...

令我困扰的是,该注释显然适用于 POST 参数和 URL 查询参数。 IE。查看上面的代码,无法判断 originURL 是 POST 正文参数还是 URL 查询参数。是否有一个注释可以用来显式地从其中之一获取它?

这就是为什么我还将“Web 请求参数”放在引号中,因为我认为这不是一个技术术语,我猜它是在“在 POST 方法主体中传递的某些参数或作为 URL 中的查询参数”。

最佳答案

与 ularis 所说的相反,参数映射中可以同时存在。

我看到的最好方法是代理parameterMap,并为每个参数检索检查queryString是否包含“&?=”。

请注意,正如 Qerub 指出的那样,在进行此检查之前,parameterName 需要进行 URL 编码。

这样可以节省您的解析工作,并且仍然只提供 URL 参数。

可以获取查询字符串的方式..

    public List<Topic> getTopics(HttpServletRequest req) {
String queryString = req.getQueryString();
.....

关于“Web-Request-Parameter”(@RequestHeader),您是对的,因为它由两个参数组成,即要么是查询的一部分,要么是请求正文的一部分。

关于java - 在 Controller 方法中显式获取 post 参数或 query 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43475472/

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