You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Service Stack JsonApiClient登录后修改Base Url

修改Service Stack JsonApiClient的BaseUrl(认证URL与API URL分离场景)

你可以直接修改JsonApiClient实例的BaseUri属性来切换URL,无需重新创建客户端。这种方式能保留登录后的认证会话信息(如Cookie、JWT Token等),完美适配认证URL和常规API URL不同的场景。

具体实现示例

// 1. 初始化客户端,先指向认证专用URL
var authBaseUri = new Uri("https://your-auth-domain.com/");
var client = new JsonApiClient(authBaseUri);

// 2. 执行登录认证操作
var authResult = await client.PostAsync(new AuthenticateRequest {
    Username = "your-username",
    Password = "your-password",
    RememberMe = true
});

// 3. 登录成功后,切换BaseUri到常规API URL
var apiBaseUri = new Uri("https://your-api-domain.com/");
client.BaseUri = apiBaseUri;

// 4. 后续请求将自动使用新的API URL,且保留认证状态
var apiResponse = await client.GetAsync<YourApiDto>("/resources/123");

补充说明

  • 如果认证流程返回了需要手动携带的Token(比如JWT),切换URL后可设置client.BearerToken属性,确保后续API请求携带认证信息:
    client.BearerToken = authResult.Token;
    
  • 若需要频繁在两个URL间切换,直接重复修改BaseUri即可,客户端会立即生效新的URL配置。

内容的提问来源于stack exchange,提问作者John Morales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 14:42:38