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

网站内容规划最新领导班子7人名单

网站内容规划,最新领导班子7人名单,万网有网站建设吗,sem竞价广告目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 Rest… 目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 RestTemplate 什么是REST? 什么是RESTful? RESTful API 缺点: 完善订单服务 启动类 package order;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class, args);} } 配置文件 server:port: 8080 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/cloud_order?characterEncodingutf8useSSLfalseusername: rootpassword: #密码driver-class-name: com.mysql.cj.jdbc.Driver # 设置 Mybatis 的 xml 保存路径 mybatis:configuration: # 配置打印 MyBatis 执行的 SQLlog-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true #自动驼峰转换 实体类 package order.model;import lombok.Data;import java.util.Date;Data public class OrderInfo {private Integer id;private Integer userId;private Integer productId;private Integer num;private Integer price;private Integer deleteFlag;private Date createTime;private Date updateTime; } Controller package order.controller;import order.model.OrderInfo; import order.service.OrderService; 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;RequestMapping(/order) RestController public class OrderController {Autowiredprivate OrderService orderService;RequestMapping(/{orderId})public OrderInfo getOrderById(PathVariable(orderId) Integer orderId){return orderService.selectOrderById(orderId);} } Service package order.service;import order.mapper.OrderMapper; import order.model.OrderInfo; import order.model.ProductInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate;Service public class OrderService {Autowiredprivate OrderMapper orderMapper;public OrderInfo selectOrderById(Integer orderId) {OrderInfo orderInfo orderMapper.selectOrderById(orderId);return orderInfo;} } Mapper package order.mapper;import order.model.OrderInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;Mapper public interface OrderMapper {Select(select * from order_detail where id#{orderId})OrderInfo selectOrderById(Integer orderId); } 测试运行 完成商品服务 启动类 package product;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class ProductServiceApplication {public static void main(String[] args) {SpringApplication.run(ProductServiceApplication.class, args);} } 配置文件 server:port: 9090 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/cloud_product?characterEncodingutf8useSSLfalseusername: rootpassword: #密码driver-class-name: com.mysql.cj.jdbc.Driver # 设置 Mybatis 的 xml 保存路径 mybatis:configuration: # 配置打印 MyBatis 执行的 SQLlog-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true #自动驼峰转换 实体类 package product.model;import lombok.Data;import java.util.Date;Data public class ProductInfo {private Integer id;private String productName;private Integer productPrice;private Integer state;private Date createTime;private Date updateTime; } Controller package product.controller;import lombok.extern.slf4j.Slf4j; 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 product.model.ProductInfo; import product.service.ProductService;Slf4j RequestMapping(/product) RestController public class ProductController {Autowiredprivate ProductService productService;RequestMapping(/{productId})public ProductInfo getProductById(PathVariable(productId) Integer productId){log.info(接收到参数productId);return productService.selectProductById(productId);} } Service package product.service;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import product.mapper.ProductMapper; import product.model.ProductInfo;Service public class ProductService {Autowiredprivate ProductMapper productMapper;public ProductInfo selectProductById(Integer id){return productMapper.selectProductById(id);} } Mapper package product.mapper;import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import product.model.ProductInfo;Mapper public interface ProductMapper {Select(select * from product_detail where id #{id})ProductInfo selectProductById(Integer id); } 测试运行 远程调用 需求 根据订单查询订单信息时, 根据订单⾥产品ID, 获取产品的详细信息. 实现 实现思路: order-service服务向product-service服务发送⼀个http请求, 把得到的返回结果, 和订单结果融合在⼀起, 返回给调⽤⽅。 实现⽅式: 采⽤Spring 提供的RestTemplate。 1.定义RestTemplate package order.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;Configuration public class BeanConfig {Beanpublic RestTemplate restTemplate(){return new RestTemplate();} } 2.修改order-service中的OrderService package order.service;import order.mapper.OrderMapper; import order.model.OrderInfo; import order.model.ProductInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate;Service public class OrderService {Autowiredprivate OrderMapper orderMapper;Autowiredprivate RestTemplate restTemplate;public OrderInfo selectOrderById(Integer orderId){OrderInfo orderInfo orderMapper.selectOrderById(orderId);String url http://127.0.0.1:9090/product/orderInfo.getProductId();ProductInfo productInfo restTemplate.getForObject(url, ProductInfo.class);orderInfo.setProductInfo(productInfo);return orderInfo;} } 测试运行 RestTemplate RestTemplate 是从 Spring3.0 开始⽀持的⼀个 HTTP 请求⼯具, 它是⼀个同步的 REST API 客⼾端, 提供了常⻅的REST请求⽅案的模版。 什么是REST? REST(Representational State Transfer), 表现层资源状态转移. REST是由HTTP的主要设计者Roy Fielding博⼠在2000年他的博⼠论⽂中提出来的⼀种软件架构⻛格. 这⾥⾯主要有三个概念: 1. 资源: ⽹络上的所有事物都可以抽象为资源, 每个资源都有⼀个唯⼀的资源标识符(URI) 2. 表现层: 资源的表现形式, ⽐如⽂本作为资源, 可以⽤txt格式表现, 也可以通过HTML, XML, JSON等格式来表现, 甚⾄以⼆进制的格式表现. 3. 状态转移: 访问URI, 也就是客⼾端和服务器的交互过程. 客⼾端⽤到的⼿段只能是HTTP协议. 这个过程中, 可能会涉及到数据状态的变化. ⽐如对数据的增删改查, 都是状态的转移. REST 是⼀种设计⻛格, 指资源在⽹络中以某种表现形式进⾏状态转移. 简单来说: REST描述的是在⽹络中Client和Server的⼀种交互形式, REST本⾝不实⽤实⽤的是如何设计 RESTful APIREST⻛格的⽹络接⼝. 什么是RESTful? REST 是⼀种设计⻛格, 并没有⼀个明确的标准. 满⾜这种设计⻛格的程序或接⼝我们称之为RESTful(从单词字⾯来看就是⼀个形容词). 所以RESTful API 就是满⾜REST架构⻛格的接⼝. RESTful ⻛格⼤致有以下⼏个主要特征 1. 资源: 资源可以是⼀个图⽚, ⾳频, 视频或者JSON格式等⽹络上的⼀个实体, 除了⼀些⼆进制的资源外普通的⽂本资源更多以JSON为载体、⾯向⽤⼾的⼀组数据(通常从数据库中查询⽽得到) . 2. 统⼀接⼝: 对资源的操作. ⽐如获取, 创建, 修改和删除. 这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE⽅法. 换⾔⽽知如果使⽤RESTful⻛格的接⼝, 从接⼝上你可能只能定位其资源但是⽆法知晓它具体进⾏了什么操作需要具体了解其发⽣了什么操作动作要从其HTTP请求⽅法类型上进⾏判断。 RestTemplate 是Spring提供, 封装HTTP调⽤, 并强制使⽤RESTful⻛格. 它会处理HTTP连接和关闭,只需要使⽤者提供资源的地址和参数即可. RESTful实践 RESTful⻛格的API 固然很好很规范, 但⼤多数互联⽹公司并没有按照其规则来设计, 因为REST是⼀种风格⽽不是⼀种约束或规则, 过于理想的RESTful API 会付出太多的成本. RESTful API 缺点: 1. 操作⽅式繁琐, RESTful API通常根据GET, POST, PUT, DELETE 来区分对资源的操作动作. 但是HTTP Method 并不可直接⻅到, 需要通过抓包等⼯具才能观察. 如果把动作放在URL上反⽽更加直观, 更利于团队的理解和交流. 2. ⼀些浏览器对GET, POST之外的请求⽀持不太友好, 需要额外处理. 3. 过分强调资源. ⽽实际业务需求可能⽐较复杂, 并不能单纯使⽤增删改查就能满⾜需求, 强⾏使⽤RESTful API会增加开发难度和成本。  所以, 在实际开发中, 如果业务需求和RESTful API不太匹配或者很⿇烦时, 也可以不⽤RESTful API. 如果使⽤场景和REST⻛格⽐较匹配, 就可以采⽤RESTful API. 总之: ⽆论哪种⻛格的API, 都是为了⽅便团队开发, 协商以及管理, 不能墨守成规. 尽信书不如⽆书, 尽信规范不如⽆规范。  欢迎大家访问我的主页---》链接
http://www.tj-hxxt.cn/news/226492.html

相关文章:

  • 九江浔阳网站建设做网站除了有服务器还需要什么问题
  • 自己造网站温州网站建设联系电话
  • 怎么改版网站网站优化主要内容
  • 北京住房建设官方网站专门做二手手机的网站有哪些
  • 科技公司网站设二次开发是什么
  • 地方性门户网站公司网站维护费大概需要多少
  • 重庆博达建设集团股份有限公司网站wordpress 相册插件
  • 产品展示类网站登封网站关键词优化软件
  • Apple 手机网站制作银川市做网站的公司
  • 电脑怎么用别人的网站吗制作网站详细步骤
  • 网站聊天系统怎么做做网站能赚钱么
  • 平稳有序推进网站建设wordpress 评论表情
  • 环保h5微网站做内衣的网站
  • 厦门外贸网站建设 之家电视购物平台
  • 唐山网站建设公司网站开发技术岗位职责
  • 网站建设 资讯动态dw做好的网页如何发布
  • 最精品网站建设俄罗斯搜索引擎浏览器官网入口
  • 营销型企业网站功能苏州调查公司招聘信息
  • 为什么说做网站赚钱wordpress用户信息
  • 建立网站预算北京手机网站制作
  • 视频网站开发需要什么语言小程序怎么做微网站链接
  • 南山优化网站建设案例分公司注册流程网上注册
  • 网站上线需要哪些步骤开发板和单片机的区别
  • 省财政厅门户网站三基建设公司有网站域名后如何建网站
  • 公司已经有域名 怎么建网站四川省住房和城乡建设厅官网证件查询
  • 哪些建材网站可以做宣传怎么给网站做seo优化
  • 门户网站属于数字媒体吗学做企业网站
  • 网站建设的摘要wordpress 禁用评论
  • 超星网站开发实战答案凌云网招聘信息
  • 搭建好网站如何使用h5案例分享平台