问题标签 [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 投票
1 回答
5840 浏览

c# - Refit ApiException 的最佳重试策略?

我同时使用RefitPolly来调用 restful API,我想知道 Refits ApiException 的重试(如果有的话)策略应该是什么?

然后我像这样使用它

问题

ApiExceptions的正常重试策略是什么?你会只是电路刹车还是在什么一般情况下你会做一些事情来恢复?

答案可能是“这取决于您的服务返回什么”,但我只需要问一下。

0 投票
1 回答
289 浏览

c# - 在 ْXamarin 门户项目中使用 Refit

我想在 Xamarin 便携式项目中使用 Refit 我正在使用 Visual Studio for Mac OS 开发,每当我尝试构建时,我都会收到此错误

命名空间“System.Net”中不存在类型或命名空间“Http”。您是否缺少“System.Net.Http”程序集参考

我注意到 System.Net.Http 程序集不是 Windows 版本框架中的 .Net Portable 我知道我无法使用 NuGet 下载它,因为包管理器无法识别可移植框架并且不会全部安装

0 投票
3 回答
7809 浏览

c# - 如何在改装库中设置超时

我在我的 Xamarin 应用程序中使用 Refit 库,我想为请求设置 10 秒超时。有没有办法在改装中做到这一点?

界面:

调用 API

0 投票
3 回答
10081 浏览

c# - 改装 - 动态和静态标题

我正在使用Refit并希望同时设置动态和静态标题。对于这个特定的调用,我需要设置 application/json 的内容类型(对于其他人,我不需要),但我还需要传递动态不记名令牌。

我收到一个 500 错误,似乎一个标题正在擦除另一个标题。

这是有效的,它会通过内容类型和授权:承载吗?

谢谢!

0 投票
1 回答
413 浏览

c# - 在 refit xamarin 表单中从 Web 服务获取详细信息时出错

错误:无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型“System.Collections.ObjectModel.ObservableCollection 1[System.Collections.ObjectModel.ObservableCollection1[DynamicLayoutSample.ElementList]]”,因为该类型需要 JSON 数组(例如 [1, 2,3]) 正确反序列化。要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其成为普通的 .NET 类型(例如,不是像整数这样的原始类型,而不是像这样的集合类型可以从 JSON 对象反序列化的数组或列表。JsonObjectAttribute 也可以添加到类型中以强制它从 JSON 对象反序列化。路径“页面”,第 1 行,位置 8。

使用 xamarin 表单中的 refit 从 Web 服务获取数据时出现此错误。在模型类下方

我的json是,

服务调用方法,

这是我的界面

0 投票
0 回答
778 浏览

xamarin - 改装调用上的 TaskCanceledException

我正在使用MvvmCross Forms和实现一个简单的登录屏幕Refit

通过按下具有命令“LogInCommand”的按钮来启动身份验证任务

这将在 AuthenticationViewModel 中执行以下命令:

正在使用 refit 的 AuthenticationService 实例被注入到视图模型中。

改装服务规范如下:

问题是任务总是被取消,总是抛出TaskCanceledException异常。

错误跟踪

我还在我配置上下文实例的地方公开了 CoreApp。

有人知道我该如何解决这个问题。提前致谢!!

0 投票
2 回答
2735 浏览

json - 使用 Refit 调用 API 并反序列化为动态

我正在使用 Refit 调用 REST 服务,并且我想反序列化作为动态类型返回的 JSON。

我尝试将接口定义为

但通话超时。

我知道我可以反序列化为这样的动态

但我不知道要传递给 Refit 什么来让它做同样的事情。

另一种选择是让 Refit 将原始 JSON 传回,这样我就可以自己反序列化它,但我也看不到这样做的方法。

有任何想法吗?

0 投票
3 回答
1541 浏览

c# - 使用自定义类改装 [FromQuery] 未获取值

我的 Web API 中的 Get 方法有问题:API 获取对象但使用默认值。

例如:

Web API 正确接收MyClass实例,但Prop为 0!

这就是我所拥有的:

Get 方法(Web API 中的控制器):

我的班级是:

我的 Refit 的 Web API 接口是:

所以,正如我所说,在电话会议上:

MyClass在控制器中获得了一个实例,但 Prop 是 0,而不是 1。

我究竟做错了什么?

0 投票
0 回答
336 浏览

refit - Json 使用 Refit Post 序列化额外属性

我正在尝试使用 Refit 发布并不断收到 500 错误。如果我 JsonConvert.SerializeObject(model) 我发布的对象看起来不错,但是当我将模型传递到我的改装接口时,我得到以下信息:json 之前的 275 和 json 之后的 0:

这是我的改装界面:

当我调试时,我能够看到模型和 id 被正确地传递到接口中。

0 投票
0 回答
386 浏览

c# - 在 Core/Android/IOS 中使用 Refit 我遇到了 System.NotImplementedException 错误

目前使用的 MVVMCross 框架引用了 Core Project

我已经尝试过多种方式:

  • 不同版本的改装测试(使用的所有相同版本)。
  • 试图在 Setup.cs(android 平台)中设置 DI,而不是 PCL。
  • 我什至尝试使用共享项目而不是 PCL。只有 xamarin android 安装了 refit - PCL 无法破坏它,但仍然给出相同的错误..
  • 我检查了 Android 的实际改装\app\packages\refit.2.4.1\lib\MonoAndroid\Refit.dll
  • 我检查了 IOS 的实际改装\app\packages\refit.2.4.1\lib\Xamarin.iOS10\Refit.dll

我错过了什么吗?