开发者社区> 问答> 正文

如何在网络请求中统一传递业务相关参数,如社区ID或门店ID?

如何在网络请求中统一传递业务相关参数,如社区ID或门店ID?

展开
收起
迪哒迪滴喵 2024-07-22 16:20:32 32 0
1 条回答
写回答
取消 提交回答
  • 类似于JWT令牌的添加,业务相关参数(如社区ID、门店ID)也可以通过Interceptor来统一传递。在Interceptor的intercept方法中,根据当前上下文(可能是Activity、Fragment、ViewModel等)获取到这些业务参数,并添加到请求的Header或Body中。

    OkHttpClient client = new OkHttpClient.Builder() 
    .addInterceptor(new Interceptor() { 
    @Override 
    public Response intercept(Chain chain) throws IOException { 
    Request original = chain.request(); 
    // 假设通过某种方式获取到communityId 
    String communityId = getCurrentCommunityId(); 
    Request.Builder requestBuilder = original.newBuilder() 
    .header("Community-Id", communityId); 
    Request request = requestBuilder.build(); 
    return chain.proceed(request); 
    } 
    
    // 模拟获取当前社区ID的方法 
    private String getCurrentCommunityId() { 
    // 这里应该是实际获取社区ID的逻辑 
    return "12345"; 
    } 
    }) 
    .build();
    

    注意,上述代码示例中的getCurrentCommunityId方法需要根据实际的应用架构来设计,以确保能够正确地获取到当前业务场景下的社区ID或门店ID。

    2024-07-22 18:06:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Session:更加安全、可靠的数据中心网络产品更新 立即下载
Session:极简易用的全球化网络产品更新 立即下载
Session:弹性、高可用、可观测的应用交付网络产品更新 立即下载