首页 > 其他分享 >HttpCilent跨服务请求

HttpCilent跨服务请求

时间:2023-08-13 22:22:54浏览次数:39  
标签:服务 请求 int return api var HttpCilent GetPageRole public

 

HttpCilent跨服务请求

需要先引用 S.Common 调用里面的 HttpClient 帮助类

注意:不能直接引用别人的Api,如需传参数自己定义Dto,或者拼接参数

Get

 /// <summary>

        /// 跨服务请求角色列表

        /// </summary>

        /// <returns></returns>

        [HttpGet("GetPageRole")]

        public IActionResult GetPageRole(int page=1,int size=5,string? name="")

        {

            var list = HttpClientHelper.GetResponse($"https://localhost:7109/api/RoleMenuRead/GetPageRole?pageIndex={page}&pageSize={size}&roleName={name}");

            return Ok(list);

        }

如果需要使用获取到的值显示,需要定义Dto 进行反序列化

 /// <summary>

        /// 跨服务请求角色列表

        /// </summary>

        /// <returns></returns>

        [HttpGet("GetPageRole")]

        public IActionResult GetPageRole(int page = 1, int size = 5, string? name = "")

        {

            var jsonString = HttpClientHelper.GetResponse($"https://localhost:7109/api/RoleMenuRead/GetPageRole?pageIndex={page}&pageSize={size}&roleName={name}");

 

            // 反序列化并显示分页数据

            var response = JsonConvert.DeserializeObject<ResponseDto>(jsonString);

 

            return Ok(response);

        }

 

        public class ResponseDto

        {

            public List<RoleAddDto> RoleList { get; set; }

            public int PageCount { get; set; }

            public int TotalCount { get; set; }

        }

Post

 /// <summary>

        /// 跨服务添加角色

        /// </summary>

        /// <param name="role"></param>

        /// <returns></returns>

        /// 

        [HttpPost("AddRole")]

        public IActionResult AddRole(RoleAddDto role)

        {

            var result = HttpClientHelper.PostResponse("https://localhost:7026/api/RoleMenu/AddRole", role);

            return Ok(result);

        }

 

Delete

/// <summary>

        /// 跨服务删除耳标

        /// </summary>

        /// <returns></returns>

        /// 

        [HttpPost("DeleteRole")]

        public IActionResult DeleteEarTag(int id)

        {

            var result = HttpClientHelper.DeleteResponse($"http://localhost:5283/api/EarTag/DeleteEarTag?id={id}");

            return Ok(result);

        }

Put

 /// <summary>

        /// 跨服务修改角色

        /// </summary>

        /// <param name="role"></param>

        /// <returns></returns>

 

        [HttpPut("UpdateRole")]

        public IActionResult UpdateRole(RoleAddDto role)

        {

            var reqult = HttpClientHelper.PutDataResponse("https://localhost:7026/api/RoleMenu/UpdateRole", role);

            return Ok(reqult);

        }

标签:服务,请求,int,return,api,var,HttpCilent,GetPageRole,public
From: https://www.cnblogs.com/qibaidao/p/17627405.html

相关文章

  • #yyds干货盘点#node 封装 http请求
    varhttp=require("http");varurlUtil=require('url');varfile=require("./file");varquerystring=require('querystring');varHttpUtil={//get提交url,返回html数据get:function(url,success,error){......
  • 2-03-Nacos配置管理-微服务配置拉取
    增加nacos对应依赖增加bootstrap配置文件并迁移配置[应用名称-环境-文件后缀(用于组装出对应的dataID)以及nacos地址]清理application中重复的配置......
  • iOS 如何给http链接请求加上cookie
    先看https是怎么携带cookie的:varproperties:[HTTPCookiePropertyKey:Any]=[:]properties[.name]="key"properties[.path]="/"properties[.value]="value"properties[.secure]="true"properties[.domain]=".abc.c......
  • 系统和服务通讯(Topshelf+TouchSocket)
    服务不是单独的,总要和其他系统进行信息交互,记录一个解决方案(方便,好用)Topshelf秒建Windows服务推荐一个超轻量级的.NET网络通信框架新建控制台,然后安装Topshelf和TouchSocket,作为服务示例代码:namespaceTestServer{classProgram{staticvoidMain(s......
  • go 进阶训练营 微服务可用性(中)笔记
    过载保护令牌桶算法存放固定容量令牌的桶,按照固定速率往桶里添加令牌https://pkg.go.dev/golang.org/x/time/rate漏桶算法作为计量工具(TheLeakyBucketAlgorithmasaMeter)时,可以用于流量整形(TrafficShaping)和流量控制(TrafficPolicing)https://pkg.go.dev/go.uber.......
  • 第四章 Sentinel--服务容错
    4.1高并发带来的问题在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。接下来,......
  • 微服务实战demo(1.5.17.RELEASE&Edgware.SR5)
    一、注册中心(使用eureka)1.依赖:<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency><dependency><groupId>org.springfra......
  • - csrf跨站请求的相关装饰器 - Auth模块的使用 - 凡是跟登录、注册、修改密码、注销
    csrf跨站请求的相关装饰器 Django中有一个中间件对csrf跨站做了验证,我只要把csrf的这个中间件打开,意味着所有的方法都要被验证在所有的视图函数中:只有几个视图函数做验证只有几个函数不做验证csrf_protect:哪个视图函数加了这个装饰器,这个函数就会做验证 csrf_exemp......
  • 【Quarkus技术系列】打造基于Quarkus的云原生微服务框架实践(1)
    推荐超值课程:点击获取前提介绍本系列文章主要讲解如何基于Quarkus技术搭建和开发"专为Kubernetes而优化的Java微服务框架"的入门和实践,你将会学习到如何搭建Quarkus微服务脚环境及脚手架,开发Quarkus的端点服务,系统和应用层级的配置介绍与Quarkus的编程模型分析,创建Quarkus的应用......
  • 禁用账号密码使用ssh私钥登录服务器
    1、生成ssh信息id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存(丢失后就无法再登陆了)建议删除服务器端的私钥。公钥则可以任意公开。ssh-keygen-trsa--------------------------------------输入生成的名称密码确认密码2、公钥导入到系统中cat/roo......