Member 14032301 Ответов: 0

Ошибка Android studio при подключении к ASP.NET API


я пытаюсь подключить свой проект в android studio к Asp.net API и я использую Volley Lib, чтобы получить запрос Json, но он не прочитал ответ, и я получаю этот массаж в журнале ((( E/Volley: [352] BasicNetwork.performRequest: неожиданный код ответа 400 для http://10.10.4.150:61511/api/Feedback/30)))
public static final String GET_BY_ID = "http://10.10.4.150:61511/api/Feedback/30";

EditText id;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    id = (EditText) findViewById(R.id.idtxt);
}
public void click(View v) {
    if (v.getId() == R.id.btnget) {
        insertData (id.getText().toString()) ;
    }

}
public void  insertData (String value){
    HashMap<String,String> param = new HashMap<String, String>();
    param.put("id",value);
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, GET_BY_ID,null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.d("Response", response.toString());

            try {
                JSONObject ob = response.getJSONObject("userId")    ;
                int name = ob.getInt("userId");
                Toast.makeText(getBaseContext(),name,Toast.LENGTH_LONG).show();
            } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(getBaseContext(),e.getMessage(),Toast.LENGTH_LONG).show();

            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getBaseContext(),error.getMessage(),Toast.LENGTH_LONG).show();

        }

    }) {

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            headers.put("User-agent", "My useragent");
            return headers;
        }};

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(request);
}
}


Что я уже пробовал:

я пытаюсь подключить свой проект в android studio к Asp.net API и я использую Volley Lib, чтобы получить запрос Json, но он не прочитал ответ, и я получаю этот массаж в журнале ((( E/Volley: [352] BasicNetwork.performRequest: неожиданный код ответа 400 для http://10.10.4.150:61511/api/Feedback/30)))

Richard Deeming

Ваш API возвращает ошибку 400 - плохой запрос.

Вам нужно исправить свой запрос, чтобы он соответствовал ожиданиям вашего API.

Мы не можем сказать вам, как это сделать, потому что мы не можем видеть ваш API.

Member 14032301

тест почтальон АПИ
https://pasteboard.co/HKw7Ydl.jpg

David Crow

Что происходит, когда вы (один) шагаете через код с помощью отладчика?

Member 14032301

получите этот массаж в android studio dubugger
E/Volley: [352] BasicNetwork.performRequest: неожиданный код ответа 400 для http://10.10.4.150:61511/api/Feedback/30

David Crow

Что произойдет, если вы откроете этот URL-адрес (http://10.10.4.150:61511/api/Feedback/30) в браузере?

Member 14032301

когда я открою http://localhost:61511/api/Feedback/40
я получаю этот результат
"{\"UserID\":40,\"UserName\":\"QCK1\",\"Password\":\"123\",\"Email\":\"Ahmed\",\"PhoneNumber\":null,\"Logtit\":null,\"Latitle\":null,\"OfGroup\":null}"

David Crow

- когда я открою http://localhost:61511/api/Feedback/40"

Что отличается от http://10.10.4.150:61511/api/Feedback/30

0 Ответов