首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将jsonstring作为RESTFULL请求发送给邮递员

如何将jsonstring作为RESTFULL请求发送给邮递员
EN

Stack Overflow用户
提问于 2017-08-17 06:45:08
回答 1查看 227关注 0票数 0

我有一个类似于以下的课程:

代码语言:javascript
复制
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.util.StringUtils;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;

@Data
public class MyTestClass {
@JsonProperty("first")
private List<String> first = new ArrayList<>();
@JsonProperty("second")
private List<String> second = new ArrayList<>();
@JsonProperty("third")
private List<String> third = new ArrayList<>();

public static MyTestClass emptyFilter() {
    return new MyTestClass();
}


@SuppressWarnings("unused") //JSR311
@Nonnull
public static MyTestClass fromString(@Nullable String jsonString) {
    if (StringUtils.isEmpty(jsonString)){
        return emptyFilter();
    }
    return JsonUtils.fromJSONString(jsonString, MyTestClass.class, false);
}

}

我的问题是关于RESTfull调用webservice的输入。我的请求必须有一个filter参数,这个参数应该引用这个类。因此,我给出的过滤器参数如下所示:

代码语言:javascript
复制
{"MyTestClass":{"first":[],"second":[],"third":[]}}

但我总是会犯这样的错误:

代码语言:javascript
复制
Failed to convert value of type 'java.lang.String' to required type 'MyTestClass'

我是Spring框架的新手,我的问题可能是愚蠢的:

  1. 我知道过滤器参数应该是一个包含三个jsonObjectJsonArrayjsonObject中的主参数应该是什么,其中包括JsonArray。我使用了类名,如您所见。对吗?如果我从stackoverflow上的其他一些问题中正确地理解了它,那么当我使用基于Spring编写的类时,我应该使用它。
  2. 如果这是不正确的,我如何才能找到应该称为什么呢?我可以通过查看类来查看jsonArray的名称,因为它们是类的变量。但是包含所有这些数组的jsonObject的名称又如何呢?
  3. 从类中,在我看来,类还必须接受空字符串作为过滤器。但我也试过了,但它不起作用。我应该在哪里找这个问题?

我还应该提到,我的工作是在一家公司,这是一个非常大的项目的一小部分,这个项目最近被转换为Spring框架,我们正在测试是否一切都在正常工作。

EN

回答 1

Stack Overflow用户

发布于 2017-08-17 06:54:31

根元素不需要由json中的名称引用。测试字符串应该是

代码语言:javascript
复制
{"first":[],"second":[],"third":[]}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45728258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档