繁体   English   中英

如何将jsonstring作为RESTFULL请求发布到邮递员

[英]How to post jsonstring as RESTFULL request to postman

我有一个像下面这样的课程:

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调用Web服务的输入的。 我的请求必须具有应该引用此类的filter参数。 因此,我给出的filter参数如下所示:

{"MyTestClass":{"first":[],"second":[],"third":[]}}

但是我总是会收到这个错误:

Failed to convert value of type 'java.lang.String' to required type 'MyTestClass'

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

  1. 我知道滤波器参数应该是一个jsonObject包括三个JsonArray秒。 包含JsonArrayjsonObject内部的主要参数的名称应该是什么。 如您所见,我使用了类名。 那是对的吗? 如果我从关于stackoverflow其他一些问题中正确理解了这一点,那么当我使用基于Spring编写的类时,应该使用它。

  2. 如果不正确,我该如何找到应称呼的东西? 我可以通过查看类来简单地查看jsonArray的名称,因为它们是类的变量。 但是包含所有这些数组的jsonObject的名称呢?

  3. 从类中,在我看来,该类还必须接受空字符串作为过滤器。 但是我也尝试过这样做,但是不起作用。 我应该在哪里寻找问题?

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

无需在json中使用名称来引用根元素。 测试字符串应为

{"first":[],"second":[],"third":[]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM