如何将带有连字符的表单参数键映射到 Java 对象字段?

How to map form param key with hyphen into Java object field?

我有一个 POST 请求调用到我的应用程序,内容类型为:application/x-www-form-urlencoded.

表单数据负载是: username=myname%40gmail.com&my-token=dBq26TVjg5jy8Q4kUYyZ2DQ

我需要将这 2 个参数映射到一个 Java 对象中:

public class MyRequest{
    
    private String username;

    private String myToken;

    //getters setters
}

我的控制器是:

@RequestMapping(value = "user/request", method = RequestMethod.POST)
    public String request(@ModelAttribute(value = "myRequest") MyRequest myRequest, 
Model model, RedirectAttributes redirectAttributes)

我看到用户名正在填充,但 myToken 没有。

我不能使用@JsonProperty("my-token"),因为它不是json,还有什么办法可以得到令牌?

不是将值赋给对象,而是先将值存储在字符串对象中,然后再将其存储到对象中。

public String request(@RequestParam("username") String username,@RequestParam("my-token") String myToken, 
Model model, RedirectAttributes redirectAttributes)