Как конвертировать http c # в java в okhttp (андроид студия) - PullRequest
0 голосов
/ 19 сентября 2018

Я написал следующий код на C #

public void call(){
    #region Post To Aws Onelink GpsData
    var endpointAwsCenter="https://XXXXXXXXXXXXXXX";
    var tokenAwsCenter="XXXXXXXXXXXXXXXXX";
    var client = new RestClient(endpointAwsCenter);
    IRestRequest request = new RestRequest(Method.POST); 
    request.AddHeader("x-api-key",tokenAwsCenter);
    request.AddHeader("Accept", "application/json");
    request.AddParameter("appliction/json", jsonAws, ParameterType.RequestBody); 
    var respAwsStr = client.Execute(request);
    #endregiona

}

Теперь я хочу написать подобный код на Java, используя библиотеку okhttp.Это то, что я пробовал до сих пор

 mTextViewResult = findViewById(R.id.text_view_result);

    OkHttpClient client = new OkHttpClient();

    RequestBody requestBody = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("somParam", "someValue")
            .build();

    Request request = new Request.Builder()
            .addHeader("x-api-key", tokenAwsCenter)
            .addHeader("Accept", "application/json")
            .post(requestBody)
            .url(endpointAwsCenter)
            .build();

Я не знаю, как писать на Java

request.AddParameter("appliction/json", jsonAws, ParameterType.RequestBody); 

Пожалуйста, помогите мне решить эту проблему

1 Ответ

0 голосов
/ 19 сентября 2018

Вместо создания MultipartBody (что на самом деле не делается в коде C #), просто создайте тело application/json вместо:

MediaType JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(JSON, jsonAws);

См. OkHttp Post Body как JSON а также

...