要求 - 用户将点击一个URL并在呼叫计算机上下载CSV。
实施 下面是我的RAML(1.0)定义
/{format}:
is: [ genericErrorResponsesCompliant ]
get:
description: Get/Download list of all ACTIVE accounts in a given format (CSV/JSON) default is JSON
body:
application/json:
responses:
200:
body:
application/octet-stream:
202:
body:
application/json:
404:
body:
application/json:
example: !include resources/json/example/error/error-resource-not-found-response-example.json
问题: 使用 -
发送请求时问题 如果我没有设置内容类型,那么API-Kit将无法通过验证并发送异常。有没有办法将默认的Content-Type设置为 application / json ,最终用户可以从浏览器访问url并下载csv?
我应该能够克服API-Kit抛出的异常
如果您需要更多信息,请告诉我,但我很难完成这项工作。任何帮助将不胜感激。
异常 根异常堆栈跟踪: org.mule.module.apikit.exception.UnsupportedMediaTypeException 在org.mule.module.apikit.HttpRestRequest.handleUnsupportedMediaType(HttpRestRequest.java:306) at org.mule.module.apikit.HttpRestRequest.negotiateInputRepresentation(HttpRestRequest.java:300)
环境 Studio版本6.1.1上的Mule 3.8运行时
答案 0 :(得分:1)
这是因为您有GET请求:
get:
description: Get/Download list of all ACTIVE accounts in a given format (CSV/JSON) default is JSON
body:
application/json:
删除body:application / json在GET请求中不需要它。然后,它将允许您在没有Content-type的情况下调用API。
答案 1 :(得分:0)
我希望它有效。 得到同样的例外。在@ ryan-carter建议之后的RAML
/{format}:
is: [ genericErrorResponsesCompliant ]
get:
description: Get list of all ACTIVE accounts for a given country in a given format (CSV/JSON) default is JSON
headers:
Content-Type:
default:
'*/*'
responses:
200:
body:
application/octet-stream: