当前位置: 首页 > news >正文

asp网站开发报告酷站是什么网站

asp网站开发报告,酷站是什么网站,德化网站建设,做网站要多少钱呀文章目录 环境准备一、URL中接收参数二、接收一个参数三、接收多个参数四、传递对象五、传递JSON格式数据 环境准备 下面的配置&#xff0c;服务调用方加入即可。 依赖导入&#xff1a; <!-- openfeign依赖--><dependency><groupId>org.springframe…

文章目录

  • 环境准备
  • 一、URL中接收参数
  • 二、接收一个参数
  • 三、接收多个参数
  • 四、传递对象
  • 五、传递JSON格式数据

环境准备

下面的配置,服务调用方加入即可。

  1. 依赖导入:
        <!--        openfeign依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
  1. 开启Feign功能:

@EnableFeignClients //开启feign功能
@SpringBootApplication
public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class, args);}
}
  1. 创建Openfeign接口
//假定:被调用服务的名称为product-service,服务的接口路径统一为`product`开头
//path是可加 可不加的,value必须有,用于指定被调用服务
@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {//path可以有可无,使用path,远程调用时,默认会加上path前缀路径
}

做足准备后,接下来我们就可以使用Openfeign来进行远程调用了。


一、URL中接收参数

  1. 假定这是服务提供方的接口:
@RestController
@RequestMapping("/product")
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/{productId}")public ProductInfo getProductInfoById(@PathVariable("productId") Integer productId){return productService.selectProductById(productId);}
}
  1. 定义Openfeign接口

@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {//@PathVariable不可省略!把变量申明为url的一部分@RequestMapping("/{productId}")ProductInfo getProductInfo(@PathVariable("productId ") Integer productId);
}

我们发现实际上Openfeign接口的定义和服务提供方Controller接口的定义是非常相似的,这有助于我们去书写Openfeign接口。

  1. 通过Openfeign进行远程调用
    在这里插入图片描述

order是服务调用方的一个接口,意思是查询orderId为1的订单信息。


二、接收一个参数

假定这是服务提供方接口(回显服务):


@RestController
@RequestMapping("/product")
public class ProductController {@RequestMapping("/p1")public String p1(Integer id){return "product-service 接收到参数, id:"+id;}
}

定义Openfeign接口:

//同样地,和服务提供方接口写法类似
@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {@RequestMapping("/p1")String p1(@RequestParam("id")Integer id);//@RequestParam不可省略
}

然后我们写一个测试接口,用Openfeign去调用ProductController的p1方法:

@RestController
@RequestMapping("/feign")
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o1")public String o1(Integer id){return productApi.p1(id);}
}

运行结果:
在这里插入图片描述


三、接收多个参数

假定这是服务提供方接口(回显服务):


@RestController
@RequestMapping("/product")
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p2")public String p2(Integer id, String name){return "product-service 接收到参数, id:"+id+",name:"+name;}
}

定义Openfeign接口:

@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {//同样地,@RequestParam都不能够省略@RequestMapping("/p2")String p2(@RequestParam("id")Integer id,@RequestParam("name") String name);
}

然后通过下面的测试接口调用Openfeign接口进行远程调用:

@RestController
@RequestMapping("/feign")
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o2")public String o2(Integer id,String name){return productApi.p2(id,name);}
}

运行结果:
在这里插入图片描述

四、传递对象

假定这是服务提供方接口(回显服务):


@RestController
@RequestMapping("/product")
public class ProductController {@Autowiredprivate ProductService productService;@RequestMapping("/p3")public String p3(ProductInfo productInfo){return "product-service 接收到参数: productInfo"+productInfo.toString();}}

远程调用接口:


@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {@RequestMapping("/p3")public String p3(@SpringQueryMap ProductInfo productInfo);}

@SpringQueryMap 会把Java对象的字段映射成HTTP 请求的查询参数,同样地,是不可省略的注解

通过Openfeign进行远程调用:

@RestController
@RequestMapping("/feign")
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o3")public String o3(){ProductInfo productInfo=new ProductInfo();productInfo.setId(45);productInfo.setProductName("T恤");return productApi.p3(productInfo);}
}

运行结果:
在这里插入图片描述

五、传递JSON格式数据

假定这是我们的服务提供方(回显服务):


@RestController
@RequestMapping("/product")
public class ProductController {@RequestMapping("/p4")public String p4(@RequestBody ProductInfo productInfo){return "product-service 接收到参数: productInfo"+productInfo.toString();}}

定义Openfeign接口:


@FeignClient(value="product-service",path="/product")//FeignClient用于绑定需要调用的服务
public interface ProductApi {@RequestMapping("/p4")public String p4(@RequestBody ProductInfo productInfo);
}

@RequestBody 不可省略,表示接收json格式数据,并且转换成Java对象

通过下面的测试接口,实现远程调用:


@RestController
@RequestMapping("/feign")
public class FeignController {@Autowiredprivate ProductApi productApi;@RequestMapping("/o4")public String o4(){ProductInfo productInfo=new ProductInfo();productInfo.setId(45);productInfo.setProductName("T恤");return productApi.p4(productInfo);}
}

运行结果:
在这里插入图片描述


以上便是openfeign进行远程调用的基本使用方法
http://www.dtcms.com/a/524668.html

相关文章:

  • [服务部署]京东云部署JavaWeb项目
  • 27、LangChain开发框架(四)-- LangChain接入工具基本流程
  • 找人做网站要准备什么九江网站网站建设
  • 帝可得智能售货机系统实战Day1:从环境搭建到区域管理功能落地 (1)
  • 10.2Web Component
  • 有没有做产品团购的网站wordpress文章页禁止右键
  • Nginx 反向代理解析:从原理到生产级配置实战
  • [理论题] 2025 年 “技耀泉城” 海右技能人才大赛网络安全知识竞赛题目(四)
  • 文化馆网站数字化建设介绍重庆seo网站建设
  • 【Betaflight源码学习】之初始化函数(init.c)
  • STM32H750寄存器操作(硬件I2C)
  • 算法18.0
  • RHCA - DO374 | Day02:管理内容集和执行环境
  • 网站建设明细价格表包头seo营销公司
  • JAVA 锁机制【待完善】
  • 不平均的分治——根号分治
  • USP-(DeepSpeed-Ulysses-Attention and Ring-Attention)
  • Ubuntu部署集群环境(3台)
  • VoCo-LLaMA: Towards Vision Compression with Large Language Models 译读笔记
  • 国网北京电力建设研究院网站惠州网站建设电话
  • 鹤壁市住房和城乡建设局网站上线了建站教程
  • centos8.5运行ai00-server报错`GLIBC_2.39‘ not found,解决方法
  • 冷换仓的隐性代价:从安全策略到地址信誉体系的重新思考
  • 如何用Vue CLI 创建 Vue 项目
  • 网站开发专业前景完整php网站开发
  • 企业建网站110平米三室一厅简装图片
  • CAS汽车固件签名:从“完成签名”到“安全治理”的演进之路
  • 免费手机网站模板sem竞价推广怎么做
  • 企业数字化转型的关键一步:打通研发全流程
  • Unity 资源导出的问题,依赖关系过多。