问题标签 [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 回答
801 浏览

asp.net-core - 如何通过 NetCore 上的 Refit 发送包含 IEnumerable 的对象?

我必须通过 Refit 发送一个请求对象,其中包含 2 个 IEnumerable 和一个字符串,但由于某种原因,我无法转发该对象。

我尝试使用界面中的所有参数。例如:[Query(CollectionFormat.Csv)] 或 Multi / Pipes 但没有成功。

我也尝试过创建自己的 CustomUrlParameterFormatter,但不幸的是,我被卡住了,因为我看不到从我发送的对象请求中检索属性名称的好方法。

CustomUrlParameterFormatter 的代码

来自我正在使用的 IService 的调用

请求对象

还有 RefitClient 配置

我想要达到的目标是

相反,我在没有 CustomUrlParameterFormatter() 的情况下收到其他行为

0 投票
0 回答
426 浏览

c# - 有没有办法根据 Http 返回码使 Refit 转换为不同的模型?

我需要一些有关 Refit 的帮助...我正在构建一个 Xamarin.Android 应用程序,并且我正在使用 Refit 对某些端点进行一些网络调用。基于 Refit 的正常功能,我们可以使其将响应转换为我们想要的模型或模型列表:

这按预期工作,但是,由于 API 在出现任何错误时返回“Raca”以外的不同模型,我该如何正确转换它?

这是一个基本示例,只有端点上的 Get,它将返回一个带有 HTTP 200 的资源列表,或者,如果出现任何问题,服务器将返回一个名为“Mensagem”而不是“Raca”的模型HTTP 5xx 或 4xx...

我该如何继续呢?GetRacas() 应该能够根据 HTTP 代码转换为:

我这样称呼改装任务:

我很感激任何帮助!谢谢

0 投票
1 回答
3062 浏览

c# - 如何在 xamarin.forms 中添加带有 refit 的静态授权标头?

我正在尝试添加具有基本身份验证的静态授权标头,但是当我发出请求时,服务器响应是否定的。所以,我尝试以这种方式添加它:

然后我得到了一个静态配置类:

但它不起作用,请求未经授权。我也关注这个问题:改装和授权标头,但这并不能说服我,因为他/她在他/她的 api 定义中放置了一个动态标头。也许问题出在多个标题中?

0 投票
2 回答
3681 浏览

c# - 如何在请求中传递字符串列表?

我正在为我的应用程序使用 Refit 库,我需要调用另一个服务。我需要获取所有带有我正在传递的 id 的实体。

我尝试了 [Body] 属性,它仍然不起作用。我设法传递了一个请求,但是如果另一个服务获取的 id 为空,而我肯定传递了现有的 IEnumerable,则列表。

我的 IRefitProxy:

另一个服务的 API:

我传递了一个字符串数组/列表,它为空。路径没问题,因为我设法陷入带有断点的方法。我怎样才能正确地通过它?

0 投票
0 回答
859 浏览

c# - 如何使用 refit 库实现 Jwt 身份验证并让它在一定时间内缓存不记名令牌?

我正在编写一个 .net 核心控制台应用程序来运行一组后台作业。这些作业以 Rest API 为目标,因此我使用的是 Refit 库。

该库非常简单,但对于身份验证部分,如何以干净的方式实现它有点不清楚。

我有一个用于身份验证的休息资源:server/auth/token/acquire

在正文中,我应该发送一个包含帐户和密码的 JSON,然后服务器以以下形式发回身份验证响应:

我还需要一种方法来缓存令牌的持续时间等于 Validity 值。

如何使用 refit 来满足这些要求?

感谢您的帮助。

0 投票
1 回答
419 浏览

python - gridsearchcv 中的 refit 选项是否会重新选择功能?

我正在使用 gridsearchcv 来训练逻辑回归分类器。我想知道的是 refit 命令是否根据选择的超参数 C 重新选择特征,或者只是使用在交叉验证过程中选择的特征并且只重新拟合系数的值而不重新选择特征?

0 投票
1 回答
1510 浏览

c# - 如何序列化我的课程以使用 refit 将其作为 urlencoded 发送

嗨,我正在尝试发送一个带有改装的 POST 方法,到目前为止我可以说它正在工作,如果我使用 x-www-form-encoded 选项发送数据,我发送的 json 看起来像这样

我在视觉工作室和我的模型中构建了我的课程以将其粘贴到 json

在这里我不确定我是否做对了这是我的 api 调用者

这是发送数据的代码

尝试使用该行string complaint = await myApi.SubmitComplaint(serialized);并将其更改为字符串而不是ManyComplaints类,还尝试将模型更改为单一投诉,但我无法让它工作,我错过了什么或如何让它工作?

0 投票
0 回答
1478 浏览

c# - 如何停止对我的查询字符串进行 Refit 编码?

我正在使用一个处于测试阶段的 API,它本质上是一个 Mongodb 数据库的查询字符串作为参数。Refit 正在对我的 url 进行编码,其中包含大量花括号,而他们的服务器不喜欢它,它基本上忽略了我的所有查询属性。

我尝试将整个查询作为字符串传递,这不起作用但也不会出错。我发现了一个对 Refit 的提交,它直接解决了这个问题。说要使用 header [QueryUriFormat(UriFormat.Unescaped)],这听起来不错,但我显然没有使用该QueryUriFormat属性所在的库,而且我在谷歌搜索中找不到它。

在界面中:

字符串:

来电:

我尝试了第一条评论的链接(如下)

After doing this it looks like the absolute Uri is now correct, but the basic auth header is not working on my customer HttpClient.

0 投票
1 回答
4942 浏览

c# - 使用动态基地址改装客户端

我正在使用 Refit 在 asp.net core 2.2 中使用 Typed Client 调用 API,该 API 当前使用我们的配置选项中的单个 BaseAddress 进行引导:

在我们的配置 json 中:

在我们的 IMyApi 界面中:

当前服务示例:

我现在需要在运行时根据数据使用不同的 BaseAddress。我的理解是 Refit 将 HttpClient 的单个实例添加到 DI 中,因此在运行时切换 BaseAddresses 不会直接在多线程应用程序中工作。现在注入 IMyApi 实例并调用接口方法 GetQuestionsAsync 非常简单。此时设置 BaseAddress 为时已晚。如果我有多个 BaseAddress,是否有一种简单的方法可以动态选择一个?

示例配置:

未来服务示例:

更新 根据接受的答案,我最终得到以下结果:

0 投票
1 回答
3589 浏览

r - 如何使用 ARIMA 实现交叉验证(在滚动预测原点上)?

假设我有一个时间序列数据集,使用 90% 作为训练集,10% 作为随机验证集。如何评估 ARIMA 模型的准确性?

我是否必须auto.arima使用 100% 的完整数据集来拟合 ARIMA 模型,并迭代地将其重新拟合到训练集forecast::Arima以预测验证集?

或者

我是否必须auto.arima使用训练集迭代地拟合 ARIMA 模型并预测验证集,从而每次都使用不同的模型而不进行重新拟合

我一直认为这是第一个,但是,我的模型在使用傅里叶项来合并多个季节性时会做一些奇怪的事情。

如果有人可以帮助我,将不胜感激。