文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(2)

4) Annotation 在Dubbo中开发REST服务主要都是通过JAX-RS的annotation来完成配置的,在上面的示例中,我们都是将annotation放在服务的实现类中。但其实,我们完全也可以将annotation放到服务的接口上,这两种方式是完全等价的,例如:  在一般应用中,我们建...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(2)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(3)

7) XML数据格式 由于JAX-RS的实现一般都用标准的JAXB(Java API for XML Binding)来序列化和反序列化XML格式数据,所以我们需要为每一个要用XML传输的对象添加一个类级别的JAXB annotation,否则序列化将报错。例如为getUser()中返回的User添加如下:  此外࿰...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(3)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(4)

9) REST Server的实现 目前在dubbo中,我们支持5种嵌入式rest server的实现,并同时支持采用外部应用服务器来做rest server的实现。rest server可以通过如下配置实现:  以上配置选用了嵌入式的jetty来做rest server,同时,如果不配置server属性,res...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(4)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(5)

10) 获取Context信息 在远程调用中,值得获取的上下文信息可能有很多种,这里特别以获取客户端IP为例。 在dubbo的REST中,我们有两种方式获取客户端IP。 第一种方式,用JAX-RS标准的@Context annotation。  用Context修饰getUser()的一个方法参数后,就可以将当前的Ht...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(5)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(6)

11) 端口号和Context Path dubbo中的rest协议默认将采用80端口,如果想修改端口,直接配置:  另外,如前所述,我们可以用@Path来配置单个rest服务URL 相对路径。但其实,我们还可以设置一个所有rest服务都适用的基础相对路径,即java web应用中常说的co...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(6)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(7)

13) 配置长连接 Dubbo中的rest服务默认都是采用http长连接来访问,如果想切换为短连接,直接配置。 注:这个配置目前只对 server="netty"和server="tomcat" 才能生效。 14) 最大HTTP连接数 可以配置服务器提供端所能同时接收的最大HTTP连接数,防止...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(7)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(8)

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(7) https://developer.aliyun.com/article/122456017) 添加自定义的Filter、Interceptor Dubbo的REST也支持JAX-RS标准的Filter和Interceptor,以方便对REST的请求与响应过程做...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(8)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(9)

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(8) https://developer.aliyun.com/article/122455918) 添加自定义的Exception处理 Dubbo的REST也支持JAX-RS标准的ExceptionMapper,可以用来定制特定exception发生后应该返回的HT...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(9)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(10)

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(9) https://developer.aliyun.com/article/122455820) 输入参数的校验 dubbo的rest支持采用Java标准的bean validation annotation(JSR 303)来做输入校验http:/...

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 四、 Rest协议(10)
文章 2023-05-23 来自:开发者社区

《Apache Dubbo微服务开发从入门到精通》——通信协议—— 五、 gRPC协议

$stringUtil.substring( $!{XssContent1.description},200)...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Apache Spark 中国技术社区

阿里巴巴开源大数据技术团队成立 Apache Spark 中国技术社区,定期推送精彩案例,问答区数个 Spark 技术同学每日在线答疑,只为营造 Spark 技术交流氛围,欢迎加入!

+关注
相关镜像