簡體   English   中英

Android中的后期請求Spring Boot Rest服務出現I / O錯誤

[英]I/O Error On Post Request Spring Boot Rest Service In Android

  1. 我正在做一個小型android應用程序。 我在其中存儲用戶使用Http Rest Call將信息輸入到我的本地數據庫中。
  2. 服務沒有問題,它運行正常,我在瀏覽器和郵遞員中進行了測試,我能夠通過郵遞員客戶端執行CRUD操作。
  3. 但是,當我嘗試從Android進行POST或GET時,它會拋出諸如I / O錯誤之類的錯誤,並且在Post方法上拒絕連接。
  4. 我不知道原因。
  5. 以下是Android中的我的代碼。
  6. 此代碼用於GET請求。

    公共類Result擴展了AppCompatActivity {字符串ID; 登錄login = new Login(); final String url =“ http://192.168.1.189:9001/login ”; //清單login = new ArrayList <>(); 按鈕注銷; TextView名稱電視,年齡電視,電子郵件電視,用戶名電視; 字符串NAME,AGE,EMAIL,USERNAME;

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); // Intent intent=getIntent(); // ID=intent.getStringExtra("ID"); // new HttpGetTask().execute(); logout = (Button) findViewById(R.id.buttonLogout); nameTv = (TextView) findViewById(R.id.nameTextView); ageTv = (TextView) findViewById(R.id.ageTextView); emailTv = (TextView) findViewById(R.id.emailTextView); usernameTv = (TextView) findViewById(R.id.UsernameTextView); nameTv.setText(NAME); ageTv.setText(AGE); emailTv.setText(EMAIL); usernameTv.setText(USERNAME); new HttpRequestTask().execute(); logout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent logoutintent = new Intent(Result.this, MainActivity.class); startActivity(logoutintent); } }); } private class HttpRequestTask extends AsyncTask<Void, Void, Login> { @Override protected Login doInBackground(Void... params) { try { // final String url = "http://192.168.1.213:9001/consumer/local/64"; RestTemplate restTemplate = new RestTemplate(); Login lg = restTemplate.getForObject(url, Login.class); // NAME=lg.getName().toString(); Log.d("", "doInBackground:++++++++++++++++++++++ "+NAME); return lg; } catch (Exception e) { Log.e("MainActivity", e.getMessage(), e); } return null; } 

  1. 以下代碼適用於POST請求。

    公共類Register擴展AppCompatActivity {Button buttonRegister; 公共字符串ID; TextView editId,editName,editAge,editEmail,editUsername,editPassword; 私有字符串名稱,年齡,電子郵件,用戶名,密碼; 登錄login = new Login();

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); editId=(TextView)findViewById(R.id.editId); editName=(TextView)findViewById(R.id.editName); editAge=(TextView)findViewById(R.id.editAge); editEmail=(TextView)findViewById(R.id.editEmail); editUsername=(TextView)findViewById(R.id.editUsername); editPassword=(TextView)findViewById(R.id.editPassword); buttonRegister = (Button)findViewById(R.id.buttonRegister); buttonRegister.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(Register.this, "Registration Successful", Toast.LENGTH_SHORT).show(); Name = editName.getText().toString(); Age = editAge.getText().toString(); Email = editEmail.getText().toString(); Username = editUsername.getText().toString(); Password = editPassword.getText().toString(); Log.d("???????????", "onClick:------------> " + Name); Log.d("???????????", "onClick:------------> " + ID); Log.d("???????????", "onClick:------------> " + Age); Log.d("???????????", "onClick:------------> " + Email); Log.d("???????????", "onClick:------------> " + Username); Log.d("???????????", "onClick:------------> " + Password); new HttpPostTask().execute(); Intent regintent = new Intent(Register.this, Result.class); //regintent.putExtra("ID",1); startActivity(regintent); /*Intent regintent = new Intent(Register.this, Result.class); startActivity(regintent);*/ } }); } public class HttpPostTask extends AsyncTask<Void,Void,Login>{ @Override protected Login doInBackground(Void... params) { final String url = "http://192.168.1.189:9001/login"; RestTemplate restTemplate = new RestTemplate(); Login login = new Login(); login.setName(Name); login.setAge(Age); login.setEMail(Email); login.setUserName(Username); login.getId(); login.setPassword(Password); Log.d("???????????", "onClick:!!!!!!!!!!!!!!> " + Name); login = restTemplate.postForObject(url, login, Login.class); ID=login.getId(); Log.d("???????????", "onClick:!!!!!!!!!!!!!!> " + login.getId()); return login; } @Override protected void onPostExecute(Login login){ super.onPostExecute(login); } } 

    }


  1. 自最近兩天以來,我一直在搜索此問題。
  2. 任何幫助表示贊賞提前謝謝............
  1. 重新啟動系統解決我的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM