当前位置: 首页 > 知识库问答 >
问题:

Spring WebClient正在检索错误的内容类型

慕云
2023-03-14
WebClient.create(apiUrl)
                .get()
                .uri(uriBuilder -> uriBuilder
                        .path("/some/{productId}/")
                        .queryParam("ws_key", apiKey)
                        .build(productId)
                )
                .accept(MediaType.APPLICATION_XML)
                .retrieve()
                .bodyToMono(MyClass.class)
                .block();

我尝试了几个“accept”参数,总是得到“text/html”。

对这个问题有什么看法吗?谢了!

共有1个答案

乐正焕
2023-03-14

尝试使用curl检查它,向安装头添加-h

curl http://xxx/some/product -H "Accept:text/xml"

如果它得到相同的结果(html)。我想服务器端应该有问题。

当使用浏览器访问API时,我认为它的accept标头默认设置为“*/*,text/html”序列或类似。

 类似资料:
  • 我使用spring JAX-RS将文件作为多部分表单数据上传。我有inputstream对象作为参数。当我将这个输入流复制到磁盘时,我得到了我的文本文件。 但是当我试图检测这个输入流的内容类型时,我得到的内容类型是application/octet-stream。 作为一个测试,我还用tika desktop测试了相同的文件,并获得了正确的内容类型。

  • 我试图检测传递给web服务到SOAP信封中的文件内容类型。可以通过两种方式指示该文件: 从其url, 从其包含(base64压缩数据)。 那么,如何在文件扩展名未知的情况下检测MIME类型呢?

  • 我已经构建了一个RESTendpoint,它使用Spring和Apache CXF2.5来使用和生成Application/JSON。 配置: 当我使用不受支持的内容类型(如application/xml)发送请求(使用REST客户端应用程序)时,我会得到一个内部服务器错误。我希望是405,因为endpoint不支持任何其他内容类型。为什么我会得到这个例外?

  • 我正在为我的Android手机构建一个小应用程序,使用非常基本的REST界面将短信转发到网络服务器。 我正在使用android 4.0.3 SDK。我使用Django和Django restframework包在python中开发了webservice。设置完全是开箱即用的。基本上只有一个endpoint接收包含消息信息(发件人、正文、日期)的JSON对象的帖子。我使用cURL和以下命令测试了该服

  • 问题内容: 当我尝试打开一个链接以使用 jsoup 解析时,出现错误。 连接命令: 引发的错误: 问题答案: 使用(请参阅此处的文档):

  • 遵循我正在测试的请求:curl-x GET\'http://localhost:8080/credits/v1/rating?client_cpf_cnpj=11111111111'\-h'accept:application/xml'\-h'cache-control:no-cache'\-h'content-type:application/xml'