我们让mobilefirst适配器在swagger工具中正常工作,但是当我们尝试从客户端调用时,它给出了不支持的媒体类型的错误代码 - 错误代码415.Environment mobilefirst 8.0 with ibm cloud object storage。
server side java adapter code below like that,
-----------------------------------------
@POST
@Path("/uploadImageToObjectStorage")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@OAuthSecurity(enabled = false)
public String uploadImage(@QueryParam(value="imageName") String imageNameWithExtn, @QueryParam(value="imageMimeType") String imageMimeType, @FormParam(value="imageDataInBase64Str") String imageBase64String){
/// do to
}
cordova ionic 2 calling adapter or invoke adapter like that,
-------------------------------------------------------------
var resourceRequest = new WLResourceRequest("/adapters/Test/TestAdp/upload",WLResourceRequest.POST);
resourceRequest.send().then((response) => {
resourceRequest.setQueryParameter("imageName", 'store');
resourceRequest.setQueryParameter("imageMimeType",'image/png');
resourceRequest.setQueryParameter("imageDataInBase64Str",this.imageDataInBase64Str);
},
function(error){
console.log(error);
});
{“status”:415,“statusText”:“不支持的媒体 类型 “ ”responseText的“: ”“, ”responseHeaders响应“:{ ”连接“: ”保持活动“, ”内容语言“: ”EN-US“, ”日期“:” 星期二, 2017年11月21日14:09:31 GMT “ ”传输编码“: ”分块“, ”X-背侧运输“:” FAIL FAIL “ ”X-全球事务id“: ”4266505935“, ”X-通电经“: ”的Servlet / 3.1“}, ”ERRORMSG“:” 不支持 媒体类型“,”errorCode“:”415“}
答案 0 :(得分:0)
您应该将resourceRequest的Content-Type设置为application/ x-www-form-urlencoded
。
答案 1 :(得分:0)
在代码中添加此行
resourceRequest.setHeader('Content-Type','application / x-www-form urlencoded');
答案 2 :(得分:0)
我当时正在使用IBM Work light来实现设备令牌适配器,但出现了相同的错误:
不受支持的媒体(45)类型错误
当我使用这个时:
request?.setHeaderValue("application/json" as NSObject, forName: "Content-Type")
解决了我的问题,尝试这个。