【问题标题】:RESTful web service error 500 on androidAndroid上的RESTful Web服务错误500
【发布时间】:2016-04-07 08:08:53
【问题描述】:

大家好,我是新来的宁静服务。 我的朋友使用 Spring 创建了 REST 后端。 当我使用邮递员或 angularjs http.post 发布此 URL --> http://smartcar.tobaconsulting.com:9999/api/v1/login 时,很好。 你们可以通过包含这个身体在邮递员中检查它

{ "username":"alvin", "password":"alvin" }

并将内容类型设置为 JSON (application/json)。

但是当我向 Android 编码时,为什么它不起作用并返回 500 错误代码。 我的朋友说我不包括标题。我正在使用 loopj http 库http://loopj.com/。这是我的安卓代码

        RequestParams params = new RequestParams();
        params.put("username", username);
        params.put("password", password);

        AsyncHttpClient client = new AsyncHttpClient();
        client.post("http://smartcar.tobaconsulting.com:9999/api/v1/login", params, new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                Log.d(TAG, String.format("status code: %d", statusCode));
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
                Log.d(TAG, String.format("status code: %d", statusCode));
            }
        });

请帮帮我。我试图解决这个问题几个小时,但没有找到任何线索。 谢谢

【问题讨论】:

  • 我个人建议使用 Retrofit,但这与您的问题无关。
  • @greenapps 它的内部服务器错误我猜他发送的东西无法被服务器处理
  • @Alvin 使用 SOUP Ui 软件并检查呼叫是否得到正确响应并在 android 中尝试
  • 我知道 500 是什么意思。问题当然是针对 OP 的。
  • @raghavendra 好的,我稍后再试.. 谢谢..

标签: android angularjs json spring rest


【解决方案1】:

我检查了您的网址,服务器响应中没有错误

Access-Control-Allow-Credentials →true

访问控制允许方法→GET、POST、PUT、DELETE

Access-Control-Allow-Origin →chrome-extension://mkhojklkhkdaghjjfdnphfphiaiohkef

Access-Control-Expose-Headers →X-AUTH-TOKEN

内容长度 →0

日期 →2016 年 4 月 7 日星期四 08:35:26 GMT

服务器→Apache-Coyote/1.1

X-AUTH-TOKEN →eyJ1c2VybmFtZSI6ImFsdmluIiwiZW1haWwiOiJhbHZpbkBhbHZpbi5jb20iLCJleHBpcmVzIjoxNDYwODgyMTI2MDc4LCJvd25lcmlkIjo2LCJteVJvbGVzIjpbIlVTRVIiLCJBRE1JTiJdfQ ==。M9 / 71trIPbnXxCh7avSWBK42UDXUxWYXZrNOlHhO7iQ = P>

我个人建议使用 Volley lib for android,在 volley 中有一些有用的方法,谷歌强烈推荐 Transmitting Network Data Using Volley

【讨论】:

  • 是的,如果您在邮递员中检查 url 或使用 angular $http.post.. 但为什么我无法在 android 上工作.. 我错过了一些我不包括在内的东西我的请求中的 Access-Control-Allow-Origin 或其他东西.. 也许我应该先尝试 volley
  • 我和邮递员查过,是原生安卓还是跨平台应用?
  • 我认为这是一个跨平台的应用程序。因为我的其他朋友使用 angularjs 开发了具有该后端的网站,并且运行良好。我也用 Ionic 开发过,没关系。但是当我在原生 Android 应用程序中编写时,我无法让它工作。你能帮我用 Jave 写一些代码吗??
  • 当然 :) 等等,我将分享一个 sn-p。
  • 好的,谢谢伙计 :) :) :).. 我的脑袋在想我应该如何编写代码.. 哦,我忘了提这个.. 在向后端请求 json 之后,如果json 正确,后端将响应 X-AUTH-TOKEN.. 请确保代码可以返回该令牌
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-07
  • 1970-01-01
相关资源
最近更新 更多