我目前正在学习 Mulesoft Mule 4 基础课程,并已在 Runtime Manager 上部署了一个应用程序。
当我在运行时管理器上查看应用程序日志和 Anypoint Studio 日志时,在测试 GET HTTP 请求时看到上述“不支持的媒体类型”错误。我在 ARC 中测试时也遇到这个错误。
当我查看 Mule 调试器,然后查看 Anypoint Studio 中的有效负载时,我看到
mediaType = */* charset = UTF-8
我认为 GET 请求不需要添加这个,那么我该如何解决这个问题?
我的 RAML 文件:
#%RAML 1.0
title: session-2
types:
newsProperties: !include schemas/newsDataType.raml
/search:
get:
headers:
Accept:
default: application/json
queryParameters:
keyword:
type: string
minLength: 3
maxLength: 10
responses:
200:
body:
application/json:
example: !include examples/searchExample.raml
400:
body:
application/json:
example:
{"message": "Search query too long"}
/news:
post:
queryParameters:
country:
required: false
body:
application/json:
type: newsProperties
responses:
201:
body:
application/json:
example: !include examples/searchExample.raml
/sportsNews:
put:
body:
application/json:
type: newsProperties
在网上搜索并尝试了我见过的许多不同的解决方案后,最近添加了 /search 资源 GET 方法中的标头,但我仍然遇到相同的错误。任何帮助将不胜感激。
谢谢!
我遇到了同样的问题,我通过在路由器上映射端点(apikit:config)解决了它。 然后我发现端点流上为路由器设置的名称不同,例如:
修复流上的名称或在路由器上映射方法可以解决此问题
由于我的路由器和应用程序接口上的名称不匹配,我也遇到了同样的问题。 如果您使用应用程序接口作为应用程序中所有流的引用,请确保在路由器配置和接口上引用的每个端点上使用相同的命名。类似...
<apikit:router doc:name="APIkit Router" config-ref="api-config" />
您的路由器和
<flow name="get:\users:api-config"
在您的界面上。
可能您没有将 Content-Type 标头设置为
application/json
并且 API 实现需要它。
您好,尝试包含 json 示例而不是 raml 示例:
!include Examples/searchExample.raml 将其转换为包含 json 示例。
!包括示例/searchExample.json
请解决 apikit 的端点生成错误问题
名称流程前注:
名称流说明:
Con este ajuste ya noera necesario especarle el Content-Type.