我正在消费一个REST服务,它返回一个JSON格式的字符串,但在头中给出了内容类型的“文本/字符串”。我试图去问题的根源,但代码似乎不再被维护。如果没有更好的解决方案,我需要分叉spaCy Rest Services项目,并把它放在自己的某种容器中...
我已经尝试了所有这些解决方案,但所使用的方法要么已被弃用,要么由于其他原因,这些解决方案不起作用:
Spring Responsive WebClient获取内容类型为“text/plain;charset=UTF-8”的json响应
带有文本/html响应的反应式WebClient获取请求
我收到的例外总是:org。springframework。网状物反应性。作用UnsupportedMediaTypeException:不支持内容类型“文本/字符串”
我的代码是:
public class SpacyClient {
WebClient webClient;
public SpacyClient() {
webClient = WebClient.builder()
.baseUrl("http://localhost:8081")
.build();
}
public List<NamedEntity> spacyNamedEntities(String text) {
HashMap<String, String> requestBody = new HashMap<>();
requestBody.put("text", text);
requestBody.put("model", "en_core_web_lg");
Mono<List<NamedEntity>> responseMono = webClient.post()
.uri("/ent")
.accept(MediaType.APPLICATION_JSON)
.body(BodyInserters.fromValue(requestBody))
.exchangeToMono( response -> {
Mono<List<NamedEntity>> = response.bodyToMono(new ParameterizedTypeReference<List<NamedEntity>>() {});
return lalala;
});
List<NamedEntity> entities = responseMono.block();
return entities;
}
}
这里是我做的变通方法,只是使用Jackson显式地反序列化字符串。虽然不漂亮,但确实管用。
public List<NamedEntity> spacyNamedEntities(String text) {
HashMap<String, String> requestBody = new HashMap<>();
requestBody.put("text", text);
requestBody.put("model", "en_core_web_lg");
Mono<String> responseMono = webClient.post()
.uri("/ent")
.body(BodyInserters.fromValue(requestBody))
.retrieve()
.bodyToMono(String.class);
String json = responseMono.block();
ObjectMapper objectMapper = new ObjectMapper();
List<NamedEntity> entities = new ArrayList<>();
try {
entities = objectMapper.readerForListOf(NamedEntity.class).readValue(json);
} catch (JsonProcessingException e) {
// ToDo: show information in frontend
}
return entities;
}
我试图使用Jersey创建一个非常简单的REST服务。这是服务代码 当我通过Postman运行它时,它会返回一个XML响应 现在,我想要返回一个JSON响应。因此,我将mediatype更改为:
基本上,我想做一个POST请求与以下主体: 为什么会这样?
我有一个方法返回。代码如下类所示: 和作为错误。 如何解决此错误
问题内容: 我想将JSON-Post中的值解析为Java-Variables。但是它们总是空的! JSON发布: 我尝试将其解析为Java变量: 如果我这样尝试: Tomcat说: Java类int,Java类型int和MIME媒体类型application / json的消息正文阅读器;找不到字符集= UTF-8。 任何帮助都很好,我只是不明白。 问题答案: 您需要创建一个POGO,Jersey
问题内容: 我正在编写一个AJAX函数,该函数从JSON Python Web服务请求数据。我的AJAX请求如下所示: 现在,我的python网络服务具有一个处理对“ / blah”的请求的函数,该函数具有以下return语句: 我的AJAX函数无法从Python Web服务成功检索响应,但是在Firebug中没有出现任何错误。我的网络服务或JavaScript做错了什么? 问题答案: 当您使用J
问题内容: 我需要我的Web服务以返回JSON … 我的.asmx文件中包含以下代码: 返回以下内容: 如何强制它返回JSON而不是XML? 问题答案: 您的Web服务定义看起来正确。确保通过帖子调用服务,并记住该键将“内容类型”标头指定为。 (这是使用jQuery,但如果您愿意,可以使用低级JavaScript)