> https://api.projectoxford.ai/spid/v1.0/identify?identificationProfileIds= {identificationProfileIds} [&安培; shortAudio]
这是我想要达到的终点。
Params identificationProdileIds ===>字符串
shortAudio ===>布尔值(可选)
标题
API_Key ===>字符串
内容类型===>字符串(可选)
请问我几乎不知道如何提出请求但是它没有提出错误请求
这是我的界面方法
@Headers("Ocp-Apim-Subscription-Key: 7615c603bcd644cf8a9cd2d8d6cf73c6")
@Multipart
@POST("identify")
Call<ResponseBody> identifySpeaker (@Part MultipartBody.Part file, @Part("identificationProfileId") RequestBody profileIds);
这种类型的输入我稍后在创建实例时传递给它
byte[] audioData = prepareAudioData(mRecordFilePath);
RequestBody requestFile = RequestBody.create(MediaType.parse("application/octet-stream"), audioData);
MultipartBody.Part body = MultipartBody.Part.create(requestFile);
RequestBody profiles = RequestBody.create(MediaType.parse("text/plain"), profiles_list);
adapter.identifyProfile(body,profiles).enqueue and so on....
在我有这样的POST请求之前我已成功完成但是那个时候没有params 但是这个终点我必须应用params
这是改装的记录
答案 0 :(得分:1)
我认为您需要@Query
,而不是@Part
:
@Headers("Ocp-Apim-Subscription-Key: ...")
@Multipart
@POST("identify")
Call<ResponseBody> identifySpeaker (
@Part MultipartBody.Part file,
@Query("identificationProfileId") RequestBody profileIds,
@Query("shortAudio") boolean shortAudio)