Retrofit和Jackson:关于String响应的JsonParseException

时间:2016-04-22 14:27:49

标签: android jackson retrofit

我正在使用改装(版本1.9 )和杰克逊( jackson-converter 1.9 )。我们有API,它通常以原始字符串的形式发送响应。

我们的api客户端如下:

  public ActionResult Step1(string firstName)
    {
        DataAccessAdapter _adapter = new DataAccessAdapter();

        TblfhcsPersonalEntity _personal = new TblfhcsPersonalEntity();

        _personal.FirstName = firstName;



        _adapter.SaveEntity(_personal, true);




        return View();

    }

以下是基本要求:

RestAdapter.Builder builder = new RestAdapter.Builder()
            .setEndpoint(API_URL)
            .setClient(new OkClient(new OkHttpClient()))
            .setConverter(new JacksonConverter())

以下是我们获得的http响应:

api.basicPostRequest(Sample object, new Callback<String>() {
        @Override
        public void success(String s, Response response) {

        })
        @Override
        public void failure(RetrofitError error) {

        }

然而,在<--- HTTP 200 https://sample url (606ms) Date: Fri, 22 Apr 2016 13:57:46 GMT Server: Apache X-Powered-By: PleskLin Connection: close Transfer-Encoding: chunked Content-Type: text/plain OkHttp-Selected-Protocol: http/1.1 OkHttp-Sent-Millis: 1461331000541 OkHttp-Received-Millis: 1461331001011 OK 中继续执行并且改造会出现此错误:

public void failure(RetrofitError error)

这个错误或我做错了什么或遗失了什么?

关于

1 个答案:

答案 0 :(得分:2)

使用Retrofit 1.x,如果你需要这样的话,那就是让你的请求返回retrofit.client.Response,然后通过位于Response.getBody().in()的流自己获取正文内容。