Dubbo接口的返回值用Result结构的JSOnString或者DTO

 

 

Dubbo接口的返回值用Result结构,JSOnString,DTO   .....

 

================

json String

Result 包装了服务的内部实现细节,出错或者成功都有对应的code或者标记位

非常的灵活,很强的扩展性,但是客户端需要自己decode

             

DTO,需要客户端引入jar包,将服务响应过程中发生的异常直接抛出啦,客户端可以捕获之,根据需要自己的需要处理之

================

 

 

 

 

 

你在阿里写远程服务吗

天天向上 14:12:50

就是提供服务给别人调用,跟dubbo类似的

AA 14:13:05

只要一配置就可以饿了

天天向上 14:13:18

如果你提供服务,你的方法喜欢抛出异常码

天天向上 14:13:23

抛出异常码

天天向上 14:13:26

吗?

AA 14:13:38

这个  对外怎么抛出异常啊

AA 14:13:42

肯定是异常编码啊

天天向上 14:13:44

还是自己把所有的异常都吃掉

天天向上 14:13:51

然后给一个result结构

AA 14:13:58

result结构

AA 14:14:00

异常编码

天天向上 14:14:02

里面有succes,true,false

天天向上 14:14:37

 

XXXService{

 

Result  qyr|getXXX()

}

天天向上 14:14:50

XXXService{

 

Result  qyr|getXXX();

Result  qyr|getXXX()

Result  qyr|getXXX()

 

}

天天向上 14:14:55

这样写啊

AA 14:15:12

哪里这么复杂  都是json 或者xml 

天天向上 14:16:07

XXXService{

XXDTo  qyr|getXXX();

XXView  qyr|getXXX()throws  XX

XXCLass  qyr|getXXX() throws XX

 

}

天天向上 14:16:23

是上面的哪一种写法呢

天天向上 14:16:32

服务接口

AA 14:16:35

啥玩意  

AA 14:16:36

全是json

AA 14:16:39

不用类

天天向上 14:16:46

我曹,直接给json啊

AA 14:16:49

用类多烦啊

天天向上 14:16:50

碉堡了

AA 14:16:54

别人还要你的类

天天向上 14:16:58

我日

天天向上 14:17:14

那别人总得有你的接口jar包吧

AA 14:17:19

我们这边都是json接口 

AA 14:17:30

不需要  直接依赖hsf  也就是dubbo吧

AA 14:17:39

就行了  然后dubbo里面的数据类型是string

AA 14:17:47

string就是json字符串

天天向上 14:18:34

你随便找一个你写的远程服务接口类给我看下

AA 14:18:47

没有  我们不写

AA 14:18:48

直接配

AA 14:18:50

就行了

AA 14:18:57

接口都约定好了  要写毛啊

天天向上 14:19:07

hsf:service    interface="XXX"

AA 14:19:08

所有的服务都是hsf 的  参数就是一个字符串

天天向上 14:19:12

这个会写吧

天天向上 14:19:26

不需要定义服务在哪一个接口里面吗

 

可以泛型调用的   这个不重要  

AA 14:19:47

string  要什么接口啊?

AA 14:19:54

string不要接口

天天向上 14:19:56

日,我给你绕晕

天天向上 14:19:58

AA 14:20:12

自己随便搞搞吧  这都无所谓的

天天向上 14:20:45

OK

天天向上 14:22:04

返回值直接用string

天天向上 14:22:09

曹,真牛逼

AA 14:22:11

是的

天天向上 14:22:20

String确实灵活

天天向上 14:22:23

哈哈

AA 14:22:26

有啥牛逼的  直接给前台用不是很好嘛

AA 14:22:33

傻叉  

AA 14:22:46

json现在多灵活  解析速度很快

AA 14:22:57

干嘛搞那么多狗屁东西啊

天天向上 14:23:00

妈的,内部调用不是说把返回值,入参包装成java calss的吗

AA 14:23:35

没有部门不一样吧

AA 14:23:36

都可以

天天向上 14:23:40

 

AA 14:23:41

我们对外都是string

天天向上 14:23:52

估计是因为你们可能变更频繁

天天向上 14:24:01

你用String的话,升级完全是透明的

天天向上 14:24:08

毛线不用改

AA 14:24:25

业务是很多遍

AA 14:24:32

不扯了  哥们忙了

天天向上 14:24:53

双击查看原图

天天向上 14:24:58

慧姐就是屌

天天向上 14:25:04

双击查看原图

 

=======

Result的结构会让客户端多写一个if(code==XX)else {}的分支结构
天天向上 10:20:42
有时这并不是我们需要的,因为你会发现else里面又抛了一个new RuntimeException(XX)

 

dubbo 官方文档建议我们使用异常来汇报错误


Dubbo接口的返回值用Result结构的JSOnString或者DTO_第1张图片
 

 

 

 

你可能感兴趣的:(Dubbo接口的返回值用Result结构的JSOnString或者DTO)