关于Spring Webflux的小问题,以及如何直接获取http响应中的Pojo嵌套列表。
我们正在使用一个API,它的响应类似于
{
"noNeedThisField": "I do not need this",
"listOfWhatIwant": [
{
"personName": "Alice",
"personAge": "11"
},
{
"personName": "Bob",
"personAge": "22"
},
{
"personName": "Charlie",
"personAge": "33"
}
],
"uselessField": "This is useless",
"manyFieldsNoNeed": "it is one response, which contains a lot of fields that I do not need, I just need to retrieve the list DIRECTLY please",
"noNeed": true,
"anotherNotImportant": "this is not important at all"
}
基本上,它是一个响应,其中包含很多我不需要的字段,加上其中的类型列表元素,我想直接获取。
如果我创建两个不同的类,第一个
public class PojoWithListAndOtherNoNeedFields {
private String noNeedThisField;
private List<MyNestedPojo> listOfWhatIwant;
private String uselessField;
private String manyFieldsNoNeed;
private boolean noNeed;
private String anotherNotImportant;
}
//getters setters
第二个
public class MyNestedPojo {
private String personName;
private String personAge;
//getters setters
}
并像这样调用Webclient:
public Mono<PojoWithListAndOtherNoNeedFields> sendReqest() {
return webClient.mutate().baseUrl("url").build().post().uri("/route").retrieve().bodyToMono(PojoWithListAndOtherNoNeedFields.class);
}
它工作得很好!我只需要携带一个我在代码中不需要的非常大的类,每次用getter检索我需要的嵌套列表。
然而,我想知道是否有可能做类似的事情(这不起作用)
public Mono<List<MyNestedPojo>> sendReqest() {
return webClient.mutate().baseUrl("url").build().post().uri("/route").retrieve().bodyToMono(List<MyNestedPojo>.class);
}
为了直接检索嵌套的元素。我的目标是完全摆脱PojoSusListAnd其他NoNeedFields,并获得List
如何执行这在一个正确的方式在Spring使用WebClient请?
非常感谢。
您可以使用@JsonIgnoreProperties
注释通知ObjectMapper
在从json反序列化到POJO时忽略POJO中未包含的任何字段。
@JsonIgnoreProperties(ignoreUnknown = true)
public class PojoWithListAndOtherNoNeedFields {
private List<MyNestedPojo> listOfWhatIwant;
}
public class MyNestedPojo {
private String personName;
private String personAge;
}
JavaDocs
请帮我找出问题所在。我太过分了,请帮我解决这个问题
我在Spring启动时使用webClient提出请求,这里是上面的请求: 我的问题是如何在执行另一条指令之前等待请求的结果
问题内容: 我想知道如何使用XMLHttpRequest加载远程URL的内容,并将所访问站点的HTML存储在JS变量中。 说,如果我想加载并Alert()的HTML,我该怎么做? 问题答案: 您可以在等于时得到它。 这是一个示例(与IE6 / 7不兼容)。 为了获得更好的跨浏览器兼容性,不仅可以与IE6/7兼容,而且还可以解决某些浏览器特定的内存泄漏或错误,并且为了降低触发Ajaxical请求的冗
问题内容: 我正在使用spring-webflux WebClient (内部版本20170502.221452-172)访问Web应用程序,该Web应用程序生成Entry对象流(application / stream + json),如下所示: 尽管Entry对象的反序列化对于使用标准通用类型(包括Java时间(JSR-310)数据类型,如java.time.Instant)的POJO都可以正
我正在使用spring-webflux WebClient(build 20170502.221452-172)访问一个Web应用程序,该应用程序生成一个条目对象流(application/stream+JSON),如下所示: 虽然条目对象的反序列化对于使用标准通用类型(包括Java.time.instant等Java time(JSR-310)数据类型)的POJO很好,但我想知道,为了将任何自定
我一直在努力学习关于如何使用的最简单的教程,我认为这是与相比的下一个最棒的教程。 例如,https://www.baeldung.com/spring-5-webclient#4-geting-a-response 因此,当我尝试对https://petstore.swagger.io/v2/pet/findbystatus?status=available执行同样的操作时,