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

Rest学习环境搭建:服务消费者

 建一个子模块

导入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springcloud</artifactId><groupId>com.kuang</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>springcloud-consumer-dept-80</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><!--  消费者:实体类+web  不需要连接数据库,跟前端打交道的  --><dependencies><dependency><groupId>com.kuang</groupId><artifactId>springcloud-api</artifactId><version>1.0-SNAPSHOT</version></dependency>
<!--    web 支持    --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--     热部署   --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency></dependencies></project>

配置yml

server:port: 80

RestTemplate

消息转换机制

添加一些请求

以Json方式传输

错误代码

RestTemplate就是调用接口服务的

模板里有非常多的方法供我们使用

RestFUl基于RPC的一个本质区别,就是消费者可以发任何方式的请求去请求提供者提供的接口

注册一个bean

package com.kuang.springcloud.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;@Configuration//
public class ConfigBean {@Beanpublic RestTemplate restTemplate(){return new RestTemplate();}}

controller

package com.kuang.springcloud.controller;import com.kuang.springcloud.pojo.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import java.util.List;@RestController
public class DeptConsumerController {//理解:消费者,不应该有Service层//模板有很多方法供我们去使用//注入过来
//(String url, 实体:map, Class<T> responseType, Object... uriVariables)
//(url,实体,map,Class<T> responseType 返回值类型)  三个参数  五种请求方式@Autowiredprivate RestTemplate restTemplate;private static final String REST_URL_PREFIX="http://localhost:8001";@RequestMapping("/consumer/dept/get/{id}")public Dept get(@PathVariable("id")Long id){return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id,Dept.class);}@RequestMapping("/consumer/dept/add")public boolean add(Dept dept){return restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",dept,Boolean.class);}@RequestMapping("/consumer/dept/list")public List<Dept> list(){return restTemplate.getForObject(REST_URL_PREFIX+"/dept/list",List.class);}}

先启动提供者,在启动消费者,访问消费者接口,可以去调用提供者的接口。

http://www.lryc.cn/news/140931.html

相关文章:

  • JVM内存模型介绍
  • 2000-2021年地级市产业升级、产业结构高级化面板数据
  • Java实现密码加密实现步骤【bcrypt算法】
  • 商城-学习整理-集群-K8S(二十三)
  • MATLAB算法实战应用案例精讲-【深度学习】强化学习
  • 时间和日期--Python
  • 【Git】学习总结
  • 手写Spring源码——实现一个简单的spring framework
  • 银河麒麟服务器、centos7服务器一键卸载mysql脚本
  • 【随笔】- 程序员的40岁后健身计划
  • 后端项目开发:集成Druid数据源
  • 深度学习11:Transformer
  • 免费开源跨平台视频下载器 支持数百站点视频和音频下载-ytDownloader
  • R包开发1:RStudio 与 GitHub建立连接
  • 红蓝攻防:浅谈削弱WindowsDefender的各种方式
  • 什么是响应式设计(Responsive Design)?如何实现一个响应式网页?
  • QT之应用程序执行脚本
  • 学习文档链接
  • 【Java 高阶】一文精通 Spring MVC - 转换器(五)
  • 【HSPCIE仿真】输入网表文件(1)基本内容和基本规则
  • IBM Db2 笔记
  • 【Cortex-M3权威指南】学习笔记2 - 指令集
  • Java——一个Java实体类,表示一个试题的模型
  • PHP8函数的引用和取消-PHP8知识详解
  • 华为OD机试真题【最大利润】
  • YOLOv5+deepsort实现目标追踪。(附有各种错误解决办法)
  • java.8 - java -overrideoverload 重写和重载
  • oracle通配符大全
  • 浏览器开发者工具平台js代码开启展开收起
  • opencv 案例实战01-停车场车牌识别实战