gpt4 book ai didi

java - 如何将 cURL 转换为改造正确的形式?

转载 作者:行者123 更新时间:2023-12-02 13:41:18 24 4
gpt4 key购买 nike

抱歉我的英语不好。我想用这个service 。用于确定文本的语言。

请求( curl ):

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%"

我使用 Retrofit 来满足请求。

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;
}
}

并发送请求:

App app = new App();
app.onCreate();

app.getLanguageDetectionApi().getData("4978e60252ae102dfe1341146bb8cc3ec4bbbd78", textForRecognition).enqueue(new Callback<List<PostModel>>() {
@Override
public void onResponse(Call<List<PostModel>> call, Response<List<PostModel>> response) {
List<PostModel> posts = new ArrayList<>();
posts.addAll(response.body());
}

@Override
public void onFailure(Call<List<PostModel>> call, Throwable t) {
Toast.makeText(MainActivity.this, "An error occurred during networking", Toast.LENGTH_SHORT).show();
}
});

PostModel 我在网站 http://www.jsonschema2pojo.org/ 中生成.

问题:尽管 apikey 完全有效,但我没有收到任何回复。如何在接口(interface)参数中指定“outputMode=json”?我将 cURL 正确翻译为 LanguageDetectionApi 吗?在我看来,整个错误都在 LanguageDetectionApi 类中。你能帮忙解决这个问题吗?谢谢!

最佳答案

更改网址代码如下:

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);
}

基本 url 只能是主机名。

关于java - 如何将 cURL 转换为改造正确的形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42731871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com