简体   繁体   English

如何在Android中使用Koush / Ion发送Raw Json

[英]How to send a Raw Json using Koush/Ion in Android

I am trying to send a raw json from my Android App to a backend service. 我正在尝试将Android应用中的raw json发送到后端服务。 The call works in PostMan like so: 呼叫在PostMan中的工作方式如下:

    POST /MyController/MyMethod HTTP/1.1
    Host: mysite.com
    Accept: application/json
    Content-Type: application/json
    Cache-Control: no-cache
    Postman-Token: 19b74eb1-3d21-5fd4-35e9-fa7b51aef1ad

    {
      "my_json" : "values",
    }

And I am trying like so: 我正在这样尝试:

    public static NameValuePair accept_json = new BasicNameValuePair("Accept", "application/json");
    public static NameValuePair content_type_json = new BasicNameValuePair("Content-Type", "application/json")
    ...
    Ion.with(context)
            .load(a_correct_url)
            .setHeader(WebserviceHome.MyHeaders.accept_json)
            .setHeader(WebserviceHome.MyHeaders.content_type_json)
            .setMultipartContentType(data)
            .asString()
            .setCallback(callbackHandler);
    ...
    FutureCallback<String> syncDataCallbackHandler = new FutureCallback<String>() {
        @Override
        public void onCompleted(Exception e, String s) {
            [do work]
        }
    };

And the console logs from the Ion library are: 离子库中的控制台日志为:

    (0 ms) https://example.com//MyController/MyMethod: preparing request
    (0 ms) https://example.com//MyController/MyMethod: Using loader: com.koushikdutta.ion.loader.HttpLoader@42f0a728
    (0 ms) https://example.com//MyController/MyMethod: Executing request.

And the callback doesn't fire nor does the backend service react. 而且回调不会触发,后端服务也不会做出反应。 If someone has some experience, please share. 如果有人有经验,请分享。

The answer is in these two lines: 答案在这两行:

Ion...
.setJsonObjectBody(JsonObject)

or 要么

.setStringBody(rawData)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM