Refit简单使用

Refit简单使用Refit 是一个类型安全的 REST 开源库 是一套基于 RESTful 架构的 NET 客户端实现 内部使用 HttpClient 类封装 可通过 Refit 更加简单安全地访问 WebAPI 接口 要使用 Refit 框架 只需要在项目中通过 NuGet 包安装器安装即可 三 使用创建两个 weiapi 01 Publisher 和 02 Subscriber 2 ThriftAContr Person02 Subscriber1 ThriftBContr

一、简介

Refit 是一个类型安全的 REST 开源库,是一套基于 RESTful 架构的 .NET 客户端实现,内部使用 HttpClient 类封装,可通过 Refit 更加简单安全地访问 Web API 接口,要使用 Refit 框架,只需要在项目中通过 NuGet 包安装器安装即可。

二、安装nuget

Install-Package refit 

三、使用

在这里插入图片描述

创建两个weiapi ==01_Publisher 和02_Subscriber ==

01_Publisher 代码

1.InterfaceA(接口)

public interface InterfaceA { 
    //以上方法定义一个 REST API 接口,该接口定义了 GetPerson 函数,该函数通过 HTTP GET 请求去访问服务器的 //api/ThriftB/{name}路径并把返回的结果封装为 Person 对象返回,其中 URL 路径中 name的值为 GetPerson 函数的 name 参数取值 //然后,通过 RestService 类生成 InterfaceA 的代理实现,通过代理直接调用 Web API 接口。 [Post("/api/ThriftB/{id}")] Task<Person> GetPerson(string id); } 

2.ThriftAController

 [Route("api/[controller]/[action]")] [ApiController] public class ThriftAController : ControllerBase { 
    public async Task<IActionResult> Index() { 
    //通过接口访问,同时将地址端口与路由拼接 var gitPerson = RestService.For<InterfaceA>("http://localhost:50615"); //调用GetPerson方法 //所以插入name值,拼接出来的地址是http://localhost:50615/api/ThriftB/name var octcat = await gitPerson.GetPerson("name"); return Ok(octcat); } } 

3.Person

 public class Person { 
    public int Id { 
    get; set; } public string Name { 
    get; set; } } 

02_Subscriber

1.ThriftBController

[Route("api/[controller]")] [ApiController] public class ThriftBController : Controller { 
    [HttpPost] [Route("name")] public IActionResult name() { 
    Person person = new Person(); person.Name = "B"; person.Id = 1; return Ok(person); } } 

2.Person

同上

四、测试

1.运行两个webapi

2.打开PostMan

在这里插入图片描述

五、总结

Refit可以通过类似访问路由的方式,进行跨服务访问数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198475.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午3:08
下一篇 2026年3月26日 下午3:08


相关推荐

  • ASSERT 和 ASSERT_VALID[通俗易懂]

    ASSERT 和 ASSERT_VALID[通俗易懂]这个宏都是MFC的调试宏.ASSERT_VALID宏用来在运行时检查一个对象的内部合法性,比如说现在有一个学生对象,我们知道每个学生的年龄一定大于零,若年龄小于零,则该学生对象肯定有问题。事实上,ASSERT_VALID宏就是转化为对象的成员函数AssertValid()的调用,只是这种方法更安全。它的参数是一个对象指针,通过这个指针来调用它的AssertValid()成员…

    2025年9月21日
    10
  • phpstrom 3.3激活码_通用破解码

    phpstrom 3.3激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    37
  • MyBatis注释关关联关系配置

    MyBatis注释关关联关系配置

    2021年8月13日
    70
  • 华为手机桌面时钟天气_华为手机怎么让屏幕显示天气和时钟

    华为手机桌面时钟天气_华为手机怎么让屏幕显示天气和时钟华为手机锁屏时钟软件是一款安卓手机桌面锁屏时钟工具,拥有多种锁屏时钟样式,软件使用界面精致简洁,锁屏也能够看时间,拥有多种时钟颜色可以选择,还可以添加各种提醒服务,到点即可提醒用户,使用方法简单,拥有多种显示模式,需要的伙伴,西西下载使用吧!华为手机锁屏时钟软件特色:锁屏时钟是一款功能齐全又实用的时钟显示软件,主界面是一个自带时间、日期、天气的LED数字时钟和模拟时钟,全屏显示翻页时钟,酷炫美观…

    2026年4月18日
    7
  • 探索 AI 编程的未来:思考与创新之路

    探索 AI 编程的未来:思考与创新之路

    2026年3月13日
    3
  • C# DialogResult的用法

    C# DialogResult的用法在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理。比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这个菜单之后,我们需要弹出一个增加用户的窗体出来,就假设“增加用户”的窗体叫frmAddUser,那么代码如下:frmAddUserfrm=newfrmAddUser();if(frm…

    2022年6月22日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号