gpt4 book ai didi

android - Volley ClientError 意外的响应代码 404

转载 作者:行者123 更新时间:2023-11-29 01:10:22 25 4
gpt4 key购买 nike

我在 onErrorResponse 中收到 com.android.volley.ClientError 异常。在我的代码下面。最初代码使用 volley 'StringRequest' 工作;当我将其更改为使用 JsonObjectRequest 时出现错误。我认为错误与请求参数有关。它们不会发送到服务。测试 REST 服务是用 .NET 编写的,但这不会有任何区别。

private static final String ENDPOINT = "http://XXX.XXX.X.XXX/Test.App.REST/api/User/";

HashMap<String, String> params = new HashMap<String, String>();
params.put("EmployeeId", "01123");
params.put("Environment", "DAT");

CustomRequest jsonRequest = new CustomRequest
(Request.Method.GET, ENDPOINT, params, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
ControlUserResponse resp = (ControlUserResponse) gson.fromJson(response.toString(), ControlUserResponse.class);
respTxt.setText(resp.firstName + " -- " + resp.lastName);
} catch (JsonSyntaxException e) {
respTxt.setText(e.toString());
e.printStackTrace();
}
}
}, new Response.ErrorListener() {

@Override
public void onErrorResponse(VolleyError error) {
respTxt.setText(error.toString());
error.printStackTrace();
}
});

Volley.newRequestQueue(this).add(jsonRequest);

我使用这个 url 中的辅助类 CustomRequest Volley JsonObjectRequest Post request not working

我可以通过浏览器测试下面的 url 在我的机器上是否正常工作并返回正确的数据 http://XXX.XXX.X.XXX/Test.App.REST/api/User/?EmployeeId=01123&Environment=DAT

任何帮助将不胜感激。谢谢

下面的异常堆栈跟踪:

04-26 14:48:27.180 9441-9574/test.app.resttest E/Volley: [308] BasicNetwork.performRequest: Unexpected response code 404 for http://XXX.XX.X.XXX/Test.App.REST/api/User
04-26 14:48:27.183 9441-9441/test.app.resttest W/System.err: com.android.volley.ClientError
04-26 14:48:27.183 9441-9441/asc.app.resttest W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:164)
04-26 14:48:27.183 9441-9441/asc.app.resttest W/System.err: at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112)

最佳答案

我已经更改了我的代码。现在我从 REST 服务得到了正确的结果

Uri.Builder builder = Uri.parse(ENDPOINT).buildUpon();
builder.appendQueryParameter("EmployeeId", "12345555");
builder.appendQueryParameter("Environment", "DEV");

JsonObjectRequest jsonRequest = new JsonObjectRequest
(Request.Method.GET, builder.toString(), null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
ControlUserResponse resp = (ControlUserResponse) gson.fromJson(response.toString(), ControlUserResponse.class);
respTxt.setText(resp.firstName + " -- " + resp.lastName);
} catch (JsonSyntaxException e) {
respTxt.setText(e.toString());
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
respTxt.setText(error.toString());
error.printStackTrace();
}
});

Volley.newRequestQueue(this).add(jsonRequest);

关于android - Volley ClientError 意外的响应代码 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43627742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com