Jersey @FormDataParam returns 错误的字符串

Jersey @FormDataParam returns wrong String

我正在尝试在我的 REST API 中使用 @FormDataParam 注释创建一个 Post 函数。但是,当我尝试使用 Postman 对其进行测试时,返回的字符串非常奇怪。

这是我的方法:

    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response createBrand(@FormDataParam("name") String name){
        brandDAO.create(new Brand(name));
        return Response
                .ok("Name of brand = " + name)
                .build();
    }

假设我有设置 key = namevalue="test"。我希望将 name 设置为测试,但实际上设置为:

----------------------------371301867522909150048733\r\nContent-Disposition: form-data; name=\"name\"; filename=\"\"\r\n\r\n\r\n----------------------------371301867522909150048733--\r\n

我是否误解了如何从表单数据中实际获取值,或者我使用的方法有误?

如果您使用的是 Jersey 2,请确保您有 。如果你不这样做,@FormDataParam 注释将被忽略,并且它将被视为字符串是整个实体,这就是它正在发生的事情。