如何在Android中使用Koush/Ion发送Raw Json [英] How to send a Raw Json using Koush/Ion in Android

查看:169
本文介绍了如何在Android中使用Koush/Ion发送Raw Json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将raw json从我的Android应用发送到后端服务.呼叫在PostMan中的工作方式如下:

I am trying to send a raw json from my Android App to a backend service. The call works in PostMan like so:

    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",
    }

我正在尝试这样:

    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.

推荐答案

答案在这两行:

Ion...
.setJsonObjectBody(JsonObject)

.setStringBody(rawData)

这篇关于如何在Android中使用Koush/Ion发送Raw Json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆