当前位置: 首页 > 知识库问答 >
问题:

如何在改型界面中更改baseURL?

颜功
2023-03-14

我正在使用改型,对于我的应用程序,在基本界面中,我正在使用一个基本URL,就像改型页面所建议的那样,我希望能够从界面外部更改基本URL,以便有一个用于测试的基本URL和一个用于开发的基本URL,并且用户能够在它们之间切换。在java接口内部,所有变量都是最终的,不能更改,而且由于接口不能从封闭接口外部获取变量,我如何在改型中更改它?

这是我的改装界面:

String baseUrl = "http://1.1.1.1:1000/";

    //network calls

    @GET("api/v1/alignment/measuring")
    Call<AligmentDataPojo> getCallData();

    @GET("api/v1/alignment/best-position")
    Call<BestPositionPojo> getBestPositionCallData();

    @GET("api/v1/data/resetBoxAligment")
    Call<AligmentScanPojo> resetBoxAligmentCallData();

    @GET("api/v1/alignment/pointer-location")
    Call<CurserLocationPojo> curserLocationCallData();

    @GET("api/v1/alignment/fineAlignment")
    Call<FineAligmentPojo> fineAligmentCallData();

    @GET("api/v1/alignment/get-bands")
    Call<GetBandsPojo> getAllBandsCallData();


    @POST("api/v1/alignment/set-band")
    Call<PojoSetBand> postAligmentSetBand(@Body SetBandAligmentModel setBandAligmentModel);

    @POST("api/v1/alignment/action/start")
    Call<PojoSetBand> postAligmentAction(@Body AligmentActionPayloadModel aligmentActionPayloadModel);


    @GET("api/v1/alignment/evaluation-results") //Just for mockuppurposeses we have unreal information that we send and simulate a return call
    Call<EvaluationDataPojo> getEvaluationResults();

    @POST("api/v1/alignment/start-evaluation") //Just for mockuppurposeses we have unreal information that we send and simulate a return call
    Call<PojoSetBand> startEvaluationPost(@Body AligmentActionPayloadModel aligmentActionPayloadModel);


    //testings
    @POST("api/v1/data/testPost")
    Call<TestPostModel> getTestPost(@Body TestPostModel testPostModel);


    //factory
    class Factory {
        private static RetrofitInterface service;

        public static RetrofitInterface getInstance() {
            if (service == null) {
                Retrofit retrofit = new Retrofit.Builder()
                        .baseUrl(baseUrl)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();

                service = retrofit.create(RetrofitInterface.class);
                return service;
            } else {
                return service;
            }

        }
    }

共有2个答案

蓬弘
2023-03-14

简单的答案就是使用两个RetroFit对象,因为每个对象只能有一个基本url,并且它们被设计为用作单例。然后当用户在它们之间切换时,只需使用与选择对应的RetroFit实例

林正平
2023-03-14

您可以创建一个不同的改装实例,如下所示:

//Build retrofit instance
Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(baseUrl).build();

然后实例化服务。

    apiService = retrofit.create(ApiService.class);
 类似资料:
  • 问题内容: 在我的特定情况下,我正在使用区分列策略。这意味着我的JPA实现(hibernate)创建带有特殊 DTYPE 列的 users 表。此列包含实体的类名称。例如,我的 用户 表可以具有 TrialUser* 和 PayingUser的 子类。这些类名称将在 DTYPE 列中,以便EntityManager从数据库加载实体时,它知道要实例化的类的类型。 *** __ 我尝试了两种转换实体类

  • 我有一个,我想更改下划线输入边框的颜色和厚度,因为它看起来像厚度。我试着改变我的水平,但它根本不起作用。 我已经按照这些链接,但没有为我工作: 在颤振中输入装饰类 颤振输入边界类 更改textfield下划线颜色的步骤 到目前为止,已审理的案件有: 代码: 这里唯一能起作用或改变颜色的是和。我不想这样,所以我期待着在这里得到一些好的建议。 这不会改变任何事情。我想要的是: 到目前为止,无论我对设计

  • 我将我的配色方案从默认改为德古拉,并且随着语法着色,Android Studio界面也被设置为深色。

  • 我想将一个表(表示为列表的列表)转换为。作为一个极其简化的例子: 将列转换为适当类型的最佳方法是什么,在本例中,列2和列3转换为浮点?在转换为DataFrame时是否有方法指定类型?还是先创建DataFrame,然后循环遍历列以更改每列的类型更好?理想情况下,我希望以动态的方式执行此操作,因为可以有数百个列,而我不想确切地指定哪些列属于哪种类型。我所能保证的是每列都包含相同类型的值。

  • 问题内容: 我想将多列的数据类型从float更改为int。最简单的方法是什么? 尚无数据可担心。 问题答案: http://dev.mysql.com/doc/refman/5.1/en/alter- table.html 这将更改给定列的数据类型 根据您希望修改的列数,最好生成一个脚本或使用某种mysql客户端GUI

  • 问题内容: 我正在阅读已弃用的文档。 但是它并没有说赞成什么,而是我可以使用什么。 是否有一个新的API文档页面? 我曾经使用过,但似乎添加了分页符 问题答案: 从 jQuery Mobile 1.4开始 ,已弃用并替换为: 缩短 … 更短的 … (1) 注意: 目标 是#page_id或URL。 演示版 (1) 默认为 pageContainer,除非在上进行了修改。