Java 具有别名参数名称以接受Url编码的表单数据值

Java 具有别名参数名称以接受Url编码的表单数据值,java,spring,spring-boot,httprequest,x-www-form-urlencoded,Java,Spring,Spring Boot,Httprequest,X Www Form Urlencoded,在我的SpringWeb应用程序中,我有一个API,它接受内容类型为application/x-www-form-urlencoded的请求 @RequestMapping(value = "/do-it", method = {RequestMethod.POST}) public String test(@ModelAttribute("request")RequestDTO request,HttpServletRequest httpServletRequest,

在我的SpringWeb应用程序中,我有一个API,它接受内容类型为
application/x-www-form-urlencoded
的请求

@RequestMapping(value = "/do-it", method = {RequestMethod.POST})
public String test(@ModelAttribute("request")RequestDTO request,HttpServletRequest
            httpServletRequest, Map<String, Object> model, RedirectAttributes redirectAttributes){

            .....
}
此实现工作正常,所有请求参数都按照预期映射到请求dto。但是,现在我需要接受以下模式中的字段请求

参数一,参数二

我明白,在我的请求dto中的字段上使用@JsonProperty注释在我的情况下是行不通的,因为请求不是application/json类型

我发现解决这个问题的唯一方法是创建如下新的setter(在我看来,这在命名约定方面很难看)

有人能帮我找到更好的方法来完成这件事吗?我无法更改原始请求dto中的参数名称


谢谢你

我能够完成这项工作。感谢@neetash对我的指导

我所需要的只是一个定制的HandlerMethodArgumentResolver,将post请求主体数据映射到我想要获取的对象

我按照下面的链接教程来实现它。它包含创建HandlerMethodArgumentResolver需要知道的每一件事


我能够完成这项工作。感谢@neetash对我的指导

我所需要的只是一个定制的HandlerMethodArgumentResolver,将post请求主体数据映射到我想要获取的对象

我按照下面的链接教程来实现它。它包含创建HandlerMethodArgumentResolver需要知道的每一件事


回答了你的问题吗?嗯,这很有帮助,但不是直接回答。我能够从那里找到一个关键字,它是“参数解析器”。然后在谷歌上搜索了一下,找到了一种完成我工作的方法。我会加上它作为回答你的问题的答案?好吧,它有帮助,而不是直接的。我能够从那里找到一个关键字,它是“参数解析器”。然后在谷歌上搜索了一下,找到了一种完成我工作的方法。我将在这里添加它作为答案
public class RequestDTO {

    private String paramOne;

    private String paramTwo;

    // standard getters and setters

}
public void setParam_one(String param_one) {
        this.paramOne = param_one;
}