【问题标题】:retrofit is returning 404 not found改装返回 404 not found
【发布时间】:2015-09-27 09:03:40
【问题描述】:

这是我的班级,其中调用了改造。

public class Prelist_fragment extends ListActivity {
String API = "http://nisani.net/nisani hoarding/";
String tag;
Datum datum;

private ArrayList<String> stores = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.e(tag, "in oncreate of prelist");
    retro();


}


void retro(){
    Log.e(tag, "inside retro");
    RestAdapter restAdapter = new RestAdapter.Builder()
            .setEndpoint(API).build();                                        //create an adapter for retrofit with base url

    gitapi git = restAdapter.create(gitapi.class);
    git.getStores("hij",new Callback<PreStoreResponse>() {


        @Override
        public void success(PreStoreResponse preStoreResponse, Response response) {

            stores.add(datum.getStore());
            TextView tView = new TextView(Prelist_fragment.this);
            getListView().addHeaderView(tView);

            setListAdapter(new ArrayAdapter<String>(Prelist_fragment.this,
                    R.layout.activity_prelist_fragment,stores));
            getListView().setTextFilterEnabled(true);
        }

        @Override
        public void failure(RetrofitError error) {
            Log.e(tag, "inside retro error"+error.getUrl()+" "+error.getMessage());
            if (error.isNetworkError()) {
                Log.e(tag,"network error"); // Use another code if you'd prefer
            }

        }

    });
}

这是我的界面。

public interface gitapi {


/* GET LIST*/

@GET("/pre_report.php") //a function in your api to get all the list
public void getStores(@Query("roll")String a,Callback<PreStoreResponse> response);
}

当我尝试这个时,它显示 404 not found。网址是正确的,我检查了。响应是 onfailure of retrofit 而不是 onsuccess。

【问题讨论】:

    标签: android http-status-code-404 retrofit


    【解决方案1】:

    我的第一个猜测是,由于端点 URL 中的空格,Retrofit 失败了。

    在浏览器中键入时,浏览器会自动将该空格转换为“%20”,然后它会理解。我不确定改造是否能够做到这一点。 Retrofit 可能只是删除该空间,将您的原始 URL 转换为“http://nisani.net/nisanihoarding/”,这显然会产生 404 错误。

    尝试将您的端点 URL 更改为:
    http://nisani.net/nisani%20hoarding/

    【讨论】:

      猜你喜欢
      • 2016-03-16
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 2017-06-08
      • 2020-01-28
      • 2015-01-07
      相关资源
      最近更新 更多