-1

I have written following code in 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

}

Now I want to write similar code in java using okhttp library. This is what I tried so far

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

I dont know how to write in Java

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

Please help me solve this problem

Prasad Telkikar
  • 15,207
  • 5
  • 21
  • 44

1 Answers1

0

Instead of creating a MultipartBody (which is actually not done in the C# code), simply create an application/json body instead:

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

See OkHttp Post Body as JSON as well

dpr
  • 10,591
  • 3
  • 41
  • 71