问题标签 [refit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
184 浏览

c# - 使用 core 2 和 refit 构建一个纯服务器端的 rest 客户端

我目前正在开发一个纯服务器端解决方案,以在 ASP.NET Core 2 中使用现有的 rest API,通过 JWT 令牌进行身份验证。

我有一个 Core 2 MVC 项目设置并包括改装以使用 api。

我理想中想要做的是 1. 使用 Refit HttpClientFactory 库发送请求以获取 api 上的 jwt 令牌和 2. 在所有后续 api 调用中包含令牌。

我正在研究这个,它与我想要做的非常相似,但它需要是一个基于核心 2 的解决方案。

我已经有了一个可行的解决方案,使用 refit 从 /api/login 获取 jwt 令牌并将其存储在会话变量中,但这感觉不是正确的做法。

以前有没有人做过类似的事情,只是为了把我推向正确的方向?

0 投票
1 回答
664 浏览

.net - 使用 Refit 模拟 CookieContainer 行为

我正在尝试使用Refit替换我不久前编写的现有 HttpClient 包装类。在大多数情况下,一切都运行良好,但有一种情况是我需要将 cookie 与我的请求一起传递。我想我的部分困惑是我不知道使用 HttpClientHandler CookieContainer 时 cookie 的确切位置。

这是我试图模仿的 cookie 设置代码:

当我单步执行此代码时,我没有看到将 cookie 放置在标头中,并且我很难在请求或响应标头/值/等的任何地方看到它。

我应该如何用改装来模仿这个?我已经尝试将它放在标题中(这有效,它进入标题)但这不是 CookieContainer 似乎做的,所以它不起作用。

0 投票
1 回答
724 浏览

c# - Webapi http 调用导致 SSL 异常

我正在使用一个名为Refit的库来访问 RESTful 服务

我正在初始化 DI 中的接口:

然后在 myHandler 中使用:

例外是:

无法建立 SSL 连接,请参阅内部异常。

内部异常是:

根据验证程序,远程证书无效。:AuthenticationException

0 投票
1 回答
673 浏览

c# - 如何说服 Refit 不要添加 xml 序言?

我是使用Refit的新手。我现在使用 Refit 来调用需要 xml 作为输入的 REST Api。这可行,但似乎 Refit 会自动添加众所周知的 xml 前导码来描述编码。

我想发送没有前导的 xml 元素(根据目标系统的要求)。我该怎么做呢?这是我在启动类中的代码:

这是我的数据类和刚刚使用的接口

下面是一个 post call 的例子:

这是原始请求:

如何以这种方式更改我的代码这部分

不在请求中了吗?

0 投票
1 回答
1891 浏览

c# - 是否可以配置 Refit 何时尝试反序列化?

是否可以告诉 Refit 不要尝试序列化某些 HttpStatus 代码的消息正文?

我正在与一个 API 集成,该 API(当身份验证失败时)返回 HTML 正文而不是 JSON,以及 203 状态代码而不是 401/403 状态代码。这意味着 Refit 将尝试序列化主体并抛出 aSerializationException而不是ApiException.

是否可以处理这种情况?即告诉 Refit 仅将 200 视为成功或在反序列化之前注入一个可以访问状态代码的步骤?

0 投票
0 回答
31 浏览

c# - 将 json 转换为预定义的动态模型

我正在开发一个项目,我正在使用 Refit 库进行 Http 调用并将数据解析为特定模型。这对大多数情况都很好,但是,我有一个问题,我在运行时将 Json 解析为预定义的模型。例如,来自 API 的以下响应可能会根据应用程序用户必须采取的操作而有所不同。我的问题是如何将 Json 中的“动作”字段解析为特定模型。我已经预定义了可以映射其值的所有模型。就像我有“ResetPassword”、“TwoFactorAuthnentication”等。我想使用 TypeAdapter 或等效的东西来将值解析为特定模型。

任何帮助将不胜感激。

下面是我目前使用的模型

0 投票
0 回答
674 浏览

refit - 改装继承遗漏方法

我们将 Refit 用于我们的 API 声明,并希望使用接口继承。此处显示了一个示例:https ://github.com/reactiveui/refit#interface-inheritance

我可能是盲人并且做错了什么,但构造会导致以下错误消息

“AutoGeneratedITestRestClient”未实现接口成员“IPlatformRestClient.GetVersion()”Platform.RestClient.UnitTests

如果我打开存根:

那么这个功能是坏了还是我有任何错误?

0 投票
1 回答
2341 浏览

c# - 将xml字符串反序列化为c#对象

我从 Refit 休息服务(WorkflowMax API)返回了这个 XML:

我希望转换为多个 C# Job 对象。有人可以建议一个简单的方法吗?

尝试使用 Visual Studio Paste Special 'Paste XML as Classes' 并仅粘贴到 XML 的单个“作业”部分中,它会产生一个相当复杂的类,然后不知道如何反序列化到它产生的类中

0 投票
1 回答
539 浏览

c# - 改装 / API / HTTPS 连接:在标头上添加密码 - 这安全吗?

我正在设置一个新的 WebAPI 服务器(ASP NET),我们使用 HTTPS 并检查通过消息头传递的有效密码。

服务器端,我可以检查每个包是否通过 HTTPS 传递,以及它是否包含正确的标头和密码信息。

我的问题是:我们在 API 客户端上使用 refit,将密码作为标题插入到每个包中。客户端是否可以传递标头或未加密的单个消息?

这是代码:

连接和初始化

方法调用:

插入密码的HttpHandler

我是否有可能在未加密的情况下嗅探密码?我可以强制改装以仅通过 HTTPS 连接进行通信/发送包吗?

0 投票
1 回答
640 浏览

c# - Xamarin Forms Fusillade Refit - 使用单个 HttpClient 实例

我已经实现了 Xamgirl 在这篇文章中概述的方法:

https://xamgirl.com/sumption-restful-web-service-xamarin-forms-using-refit-part-3/

如果您查看代码,她正在为 MakeUpApi 和 RedditApi 实例化 2 个 ApiServices,从而为 2 个 HttpClient 实例实例化。

HttpClient 被设计为用作单个实例,所以我想知道是否有人知道如何做到这一点,记住 Fusillade 优先级可能会根据每个请求而有所不同。

提前致谢