如何使用 ServiceStack 访问响应标头

Posted

技术标签:

【中文标题】如何使用 ServiceStack 访问响应标头【英文标题】:How do I access the Response Headers using ServiceStack 【发布时间】:2022-01-12 16:16:59 【问题描述】:

我正在使用 Redux 工具包做出反应,但我无法访问响应标头

return await client
.get(new Users())
.then((data) => 

// how to I access the Response Header here?
  console.log("data", data);
  return data;
)
.catch((error) => 

);

【问题讨论】:

【参考方案1】:

我假设您指的是ServiceStack's TypeScript Service Client,您可以在index.d.ts 上找到它的公共API,您可以在其中使用实例requestFilterresponseFilter

export declare class JsonServiceClient 
    //...
    requestFilter: (req: IRequestInit) => void;
    responseFilter: (res: Response) => void;

检查底层 W3C fetch API 的 Request / Response,例如:

let client = new JsonServiceClient();
client.responseFilter = function(r) 
    console.log(r.headers)


client.get(new Users())
    .then(...)

【讨论】:

为此干杯!我知道这一点,但我的语法全错了。出于兴趣,有没有办法在 javascript 中全局设置? @Leon 我刚刚在this commit 中添加了对JsonServiceClient.globalResponseFilter 的支持,如果您使用的是npm 项目,可以从npm 上的@servicestack/client v1.0.59 获得,否则您可以在npm 上获取最新版本来自unpkg CDN 哇哦!干杯!

以上是关于如何使用 ServiceStack 访问响应标头的主要内容,如果未能解决你的问题,请参考以下文章

将 ServiceStack 客户端与区分大小写的 REST 服务一起使用

Angular 2:无法访问 http 请求中的响应标头

如何在 Blazor WASM 客户端中访问 Httpclient 标头

ServiceStack 对身份验证失败的自定义响应

在Android应用程序中访问Web中的响应标头和状态代码?

如何从 Visual Studio Webform 访问基于 ServiceStack 的 Web 服务