抱歉我的英文。我想用这个service。用于确定文本的语言。
请求(卷曲):
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
ConfigureOAuth(app);
WebApiConfig.Register(config);
// Make sure this line is called before ConfigureAuth(app),
// app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
我使用Retrofit作为请求。
curl -X POST -d "outputMode=json" --data-urlencode text@ibm.txt -d "url=http://www.ibm.com/us-en/" "https://gateway-a.watsonplatform.net/calls/text/TextGetLanguage?apikey=%API_KEY%"
创建改造对象:
public interface LanguageDetectionApi {
public static final String ROOT_URL = "https://gateway-a.watsonplatform.net/calls/";
@POST("/text/TextGetLanguage")
Call<List<PostModel>> getData(@Query("apikey") String apikey, @Query("text") String text);
}
并发送请求:
public class App extends Application {
private static LanguageDetectionApi _languageDetectionApi;
private Retrofit _retrofit;
@Override
public void onCreate() {
super.onCreate();
_retrofit = new Retrofit.Builder()
.baseUrl(_languageDetectionApi.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
_languageDetectionApi = _retrofit.create(LanguageDetectionApi.class);
}
public static LanguageDetectionApi getLanguageDetectionApi() {
return _languageDetectionApi;
}
}
我在网站http://www.jsonschema2pojo.org/中生成的PostModel。
问题: 虽然apikey完全有效,但我没有回应。 如何在界面中指定参数“outputMode = json”? 我正确地将cURL翻译成LanguageDetectionApi? 在我看来,在LanguageDetectionApi类中的整个错误。你能帮忙解决这个问题吗?谢谢!
答案 0 :(得分:1)
更改以下网址代码:
public interface LanguageDetectionApi {
public static final String ROOT_URL = "https://gateway-a.watsonplatform.net";
@POST("/calls/text/TextGetLanguage")
Call<List<PostModel>> getData(@Query("apikey") String apikey, @Query("text") String text);
}
基本网址应该是主机名。