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

js 抽奖网站北京南站地铁

js 抽奖网站,北京南站地铁,广告网站有哪些,企业高端网站建设美工文章目录 文章说明 一#xff1a;Rest协议简介 二#xff1a;搭建开发环境 1#xff1a;父项目里边引入的新的版本内容 2#xff1a;Api中的操作 3#xff1a;Provider模块 三#xff1a;编码 1#xff1a;API模块 2#xff1a;Provider模块 3#xff1a;Co…文章目录 文章说明 一Rest协议简介 二搭建开发环境 1父项目里边引入的新的版本内容 2Api中的操作 3Provider模块 三编码 1API模块 2Provider模块 3Consumer模块 文章说明 本文内容整理自《孙哥说Dubbo系列视频课程》孙帅老师课程细致、全面、深入、性价比极高。B站搜孙帅suns可以找到对应的试听视频或者直接添加老师微信号suns45与他直接联系 一Rest协议简介 Rest协议就是我们我们一开始基于SpringBoot或者是SpringMVC开发说的Restful本质上把他称为协议不准确。本身因为Restful他是基于Http1.x协议的。但是在这里Dubbo指的Rest协议本质上就是指的Http协议只不过Dubbo在这里改了相应的命名。 一旦我们引入这种协议之后我们在Dubbo中就会有一种新的有意思的调用方式产生了。之前Consumer里边调用Provider的代理基于Rest协议了我们设置可以在浏览器中或者其他的客户端中进行调用了。 作为Dubbo为什么要支持Rest协议呢他底层是基于Http协议的协议层次比较高运行效率比较低。Dubbo这么做是为了和SpringCloud这个技术栈进行整合。因为SpringCloud这个技术栈的Rpc是基于Http的。为了和他进行良好的整合Dubbo才支持了这种协议方式。 二搭建开发环境 我们研究Rest协议还是要按照之前的项目结构为基础。 1父项目里边引入的新的版本内容 properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding dubbo.version3.2.0/dubbo.version spring-boot.version2.7.12/spring-boot.versionjackson-version1.9.13/jackson-version resteasy-version3.15.6.Final/resteasy-version tomcat.version9.0.75/tomcat.version/properties jackson-version的作用就是使用Http协议的时候基于JSON进行数据的序列化。resteasy这个作用是为了发布rest的访问我们之前在SpringMVC的时候由Rest的支持但是我们使用Dubbo操作Http的时候需要有这个一个RestFul的支持这个是JBoss为我们提供的产品用于发布Rest的访问。Tomcat主要是用于Http的访问。 我们知道协议对于通信方式是有选择dubbo协议最好的通信方式是NettyRest协议或者说是Http协议他的最好的通信方式是服务器服务器我们首选的就是Tomcat所以我们还需要引入一个Tomcat依赖。 dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-rpc-rest/artifactIdversion${dubbo.version}/versionexclusionsexclusionartifactIdjackson-core-asl/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-jaxrs/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-mapper-asl/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-xc/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusion/exclusions/dependencydependencygroupIdorg.jboss.resteasy/groupIdartifactIdresteasy-jackson-provider/artifactIdversion${resteasy-version}/versionexclusionsexclusionartifactIdjackson-core-asl/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-jaxrs/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-mapper-asl/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusionexclusionartifactIdjackson-xc/artifactIdgroupIdorg.codehaus.jackson/groupId/exclusion/exclusions/dependency dependencyartifactIdjackson-core-asl/artifactIdgroupIdorg.codehaus.jackson/groupIdversion${jackson-version}/version/dependencydependencyartifactIdjackson-jaxrs/artifactIdgroupIdorg.codehaus.jackson/groupIdversion${jackson-version}/version/dependencydependencyartifactIdjackson-mapper-asl/artifactIdgroupIdorg.codehaus.jackson/groupIdversion${jackson-version}/version/dependencydependencyartifactIdjackson-xc/artifactIdgroupIdorg.codehaus.jackson/groupIdversion${jackson-version}/version/dependency dubbo-rpc-rest只要想让我们的Dubbo支持DubboRest就必须导入这个依赖。 resteasy-jackson-provider发布Rest服务 到这里我们的父项目就搭建完毕了。 2Api中的操作 propertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties 3Provider模块 parentgroupIdcom.suns/groupIdartifactIddubbo-procolo-demo/artifactIdversion1.0-SNAPSHOT/version/parentartifactIddubbo-protocol-provider/artifactIdpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdcom.suns/groupIdartifactIddubbo-protocol-api/artifactIdversion1.0-SNAPSHOT/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusionartifactIdtomcat-embed-core/artifactIdgroupIdorg.apache.tomcat.embed/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.tomcat.embed/groupIdartifactIdtomcat-embed-core/artifactIdversion${tomcat.version}/version/dependency/dependencies Provider需要支持Rest访问那么必须引入Tomcat来发布服务spring-boot-starter-web这个起东器中包含了Tomcat但是我们排除一下使用自己引入的Tomcat。 4Consumer模块 properties maven.compiler.source8/maven.compiler.source maven.compiler.target8/maven.compiler.target project.build.sourceEncodingUTF-8/project.build.sourceEncoding /properties dependencies !--API 模块-- dependency groupIdcom.suns/groupId artifactIddubbo-dubbo-001-api/artifactId version1.0-SNAPSHOT/version /dependency /dependencies 三编码 1API模块 API模块主要是两个作用1定义实体2定义服务接口 Path(users) Consumes({MediaType.APPLICATION_JSON}) //client给服务器端 发送的请求数据 json RequestBody Produces({ContentType.APPLICATION_JSON_UTF_8}) //服务器给client响应的数据 json ResponseBody public interface UserService {GET // GetMapping RequestMapping(methodget)Path({name}/{password}) //PathVariablepublic User login(PathParam(name) String name, PathParam(password) String password); } Path注解的作用就参照SpringMVC里边RequestMapping注解的作用一旦在这个接口上添加完毕这个注解之后就相当于往外边暴露了一个Rest接口此时他的访问路径 http://localhost:8080/应用名/users Consumes的作用就相当于SpringMVC当中的RequestBody这个注解告诉我们的请求者这里边是一个JSON。也就是只有给我发JSON我才能解析。 Produces注解的作用就相当于SpringMVC或者是SpringBoot里边RequestBody注解中的Produces的属性也就是告诉我们的响应的结构是UTF-8的字符集编码的JSON避免乱码的产生。 Get注解的作用就是告诉采用Get的方式发起请求 http://localhost:8080/应用名/users/sunshuai/123456 然后sunshuai和123456就会分别给到两个参数然后接口就开是拿着这两个参数跑了。具体示例如下 Data ToString AllArgsConstructor NoArgsConstructor public class Order {private String orderNo;private double price; }import javax.ws.rs.*; Path(orders) Consumes({MediaType.APPLICATION_JSON}) Produces({ContentType.APPLICATION_JSON_UTF_8}) public interface OrderService {GETPath({id})Order getOrder(PathParam(id) Long id); } 注意这些注解的包 javax.ws.rs这个包下的注解是JavaEE规范中对标准RestFul的支持。 2Provider模块 DubboService public class UserServiceImpl implements UserService {Overridepublic User login(String name, String password) {System.out.println(UserServiceImpl.login name name password is password);return new User(孙帅, 123456);} } Provider是对接口的实现并且把改该实现类发布为一个DubboRPC。 spring:application:name: DUBBO-PROTOCOL-PROVIDERdubbo:protocol:name: restport: 9001server: tomcatcontextpath: sunsregistry:address: zookeeper://127.0.0.1:2181 server:port: 8081 这里的重点是在协议name上使用的是rest协议也就是Http协议。我们知道Http协议是应用层协议。应用层协议需要指定服务器所以里边才配置了server是tomcatport指的是服务器的端口。这样后续在Rpc的时候地址就是应该是9001端口了。contextpath指的是suns设置的是应用名。这样最终的地址就变成了Http://localhost:9001/suns/orders/1 server.port是指我们导入依赖的时候引入了Tomcat他默认启动的时候也会启动Tomcat我们为他指定端口为8081避免和我们的Rest端口发生冲突。 基于Rest协议进行RPC通信的端口是9001DubboService注解的作用是发布为一个DubboRpc服务此时的作用就异常重要了有了这个注解这个Service配合上之前接口里边定义的各种注解才会被发布成一个Rest服务。 通过我们浏览器访问进行测试Http://localhost:9001/suns/orders/1确实可以调用成功没有任何的Controller。 3Consumer模块 spring:application:name: DUBBO-DUBBO-003-CONSUMER dubbo:registry:address: zookeeper://127.0.0.1:2181application:qos-enable: false DubboReference(protocol rest) private UserService userService; DubboReference这里必须要指定具体的协议。Dubbo协议因为是默认的所以不需要。   DubboReference(protocol rest)private OrderService orderService;Testvoid test2() {Order order orderService.getOrder(1L);System.out.println(order order);} 到这里Dubbo在整个基于Rest协议的开发我们就分析完了。
http://www.w-s-a.com/news/797893/

相关文章:

  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网
  • 承德网站制作加盟天津做优化的网站有多少家
  • 北京市保障性住建设投资中心网站首页专业做网站联系电话
  • 镇江网站建设方式优化单页面网站教程
  • 做手机网站公司北京网页设计公司兴田德润实惠
  • 域名申请好了 要怎么做网站百度推广开户渠道
  • 电商网站建设 数商云焦作黄河交通学院
  • 做一个网站成本多少太原网站维护
  • 网站建设制作设计优化怎么制作网页步骤
  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站
  • 商业网站网站建设wordpress关闭前端公共库
  • 打开山东城市建设职业学院网站下载了wordpress后
  • 四川网站建设设计城乡建设网站证件查询系统
  • 企业邮箱哪里买栾城seo整站排名
  • 长沙网站建设zh68网页制作技术实训报告
  • 电商网站的功能手机广告设计与制作软件
  • 做网站前端需要编程基础吗杭州市住房和城乡建设局