MarioLuo 最近的时间轴更新
MarioLuo's repos on GitHub
Java · 65 人关注
spring-api-versioning
Simple development of multi-version api based on spring-mvc annotation via @ApiVersion, support for uri, header, param.
Java · 35 人关注
hcnetsdk-java
海康网络HCNetSDK二次封装的Java库.
Java · 31 人关注
spring-data-jpa-mybatis
Easily support hybrid development of spring-data-jpa and mybatis.
C · 14 人关注
hcnetsdk-go
HCNetSDK for golang.
Java · 10 人关注
aliyun-oss-spring-boot-starter
Aliyun oss spring boot starter.
Python · 6 人关注
dbtool.py
A lightweight db tools for sql.
Go · 6 人关注
paper-show
A simple online prototype hosting tool.
Go · 6 人关注
sonar-webhook
SonarQube扫描检测结果webhook回调适配服务,实现钉钉机器人、企业微信机器人、企微应用消息通知等
Java · 2 人关注
spring-tiny-auth
十分钟上手的权限认证框架, 支持rest风格路径权限、@Auth注解的角色权限。
Java · 1 人关注
weixin-gateway
微信公众号消息网关, 基于注解分发消息@WxController、@WxEvent、@WxMessage, 提供脚手架项目。
Go · 0 人关注
delay-queue
延迟队列
Java · 0 人关注
disque4j
A simple redis message queue for Java
0 人关注
homebrew-cask
🍻 A CLI workflow for the administration of macOS applications distributed as binaries
Java · 0 人关注
huaweicloud-obs-spring-boot-starter
huaweicloud-sdk-java-obs spring boot starter.
0 人关注
lkqm
HTML · 0 人关注
lkqm.github.io
My blog base on hexo, mario6.me
Java · 0 人关注
spring-data-mongodb-extends
Useful spring-data-mongodb extends, such as partial update method, generic crud service.
Java · 0 人关注
spring-disduler
Distributed spring scheduling task by lock & aop
Java · 0 人关注
spring-jdbc-tools
Spring jdbc tools for crud operations.
Java · 0 人关注
weixin-java
一个服务化微信能力的脚手架(基于WxJava微信SDK),支持微信网关消息分发(基于注解),、微信能力服务化(dubbo,springcloud),以及集成各种WxJava模块的spring-boot-starter库
JavaScript · 0 人关注
wheels
Maintain the ability to make wheels
Java · 0 人关注
WxJava
WxJava (微信开发 Java SDK),支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发
MarioLuo

MarioLuo

V2EX 第 495604 号会员,加入于 2020-06-20 12:18:41 +08:00
今日活跃度排名 16397
MarioLuo 最近回复了
68 天前
回复了 huangliu 创建的主题 程序员 我和 Tiny RDM 一起勇敢迈向了 1.2 版本
颜值很高 精致的不像开源软件 之前用 medis 很多开源软件刚开始都做的很好 慢慢因为没有盈利就没有更新下去了 希望作者能尽快找到盈利的模式, 可以考虑苹果版本上架付费版本合适的价格,然后海外推广,毕竟有收入才能持续更新。
190 天前
回复了 nitouge 创建的主题 程序员 OpenFeign 使用疑惑
服务拆分后各个服务之间通过 http 接口调用,那么第一个问题考虑的是要不要提供客户端?
第一种: 服务分为多个 maven 模块, 例如: user-api, user-provider, 优点代码复用, 缺点就是版本兼容,适合大量接口调用.
第二种: 调用方写代码调用,优点是按需写、灵活,缺点就是代码重复,适合少量接口调用.
第三种: 单独写一个 sdk 项目,优点是复用,缺点单独维护,也可根据 openapi 文档自动生成.

回到你的问题,如果使用第一种方式:
1. API 包种每个接口返回 VO/DTO, 不要直接返回数据库实体类,实体放在实现模块中,实体转换用 mapstract 即可。
2. Feign 中每个接口建议入参和返回都包装一个实体: UserAddReq, UserAddResp 以后便于扩展而不影响调用方,部分原子接口可不用包装比如根据 id 获取用户信息: Result<UserDTO> getUserById(@PathVariable("id") Long id);
3.因为我们是 bff 模式,原子服务的 service 层尽量返回实体,控制层包装转化为 DTO/VO;
4.目前我们是返回的 Result<?>, 然后 Result 里有个 tryThrow()方法,由调用方控制,灵活性更大,也可以用 Decoder 方式;

另外一个小地方命名冲突: 一般会在 bff 服务中请求响应都叫 XXxReqVO, XxxRespVO, 而在原子服务叫: XxxReq, XxxResp 。

我们实际中采用第一种和第二种混合: bff 服务调底层服务用第一种,相对独立或外部的服务调用使用第二种。
根据个人遇到的情况来看,大致是项目没有约定规范、不同开发按照自己的命名和风格随意、新人对项目不熟悉、偷懒对第三方返回数据没有转换,说白了还是技术水平问题,但是归根结底还是管理问题。我的建议了就是提出问题和后端人员,讲道理方式沟通。
2023-03-28 11:07:45 +08:00
回复了 Emptyh 创建的主题 生活 男性买衣服一般去哪
@Emptyh Zara, 优衣库, Gap ,美邦 风格都比较好看,相对 Zara 风格更潮一点,可以都试试看
2022-08-16 11:34:04 +08:00
回复了 shilianmlxg 创建的主题 程序员 BOSS 直聘的那种 im 聊天的是怎么实现的呢
@Goooooos plantuml 好像没这么好看
2022-08-16 08:32:07 +08:00
回复了 shilianmlxg 创建的主题 程序员 BOSS 直聘的那种 im 聊天的是怎么实现的呢
@LeegoYih 请问下用的什么画图工具
2022-08-14 22:55:55 +08:00
回复了 juejinloop 创建的主题 信息安全 chrome 密码泄漏了, 才知道用 chrome 保存密码等于裸奔
才从 lastpass 切换到 google chrome 的密码管理器,如果真是如主题所说的那样,又得切回去了
2022-08-12 10:30:55 +08:00
回复了 voidmnwzp 创建的主题 程序员 手写 api 文档写得想跑路了
@bitmin smart-doc maven 插件 自己扩展下上传到 yapi 可以实现,但是有个问题,多分支开发怎么弄,yapi 本身的文档管理功能没有多分支,多版本的概念
2022-08-12 07:53:38 +08:00
回复了 voidmnwzp 创建的主题 程序员 手写 api 文档写得想跑路了
如果是用的 spring ,可以用这个 Idea 插件,从标准 Java doc 生成代码: https://github.com/jetplugins/yapix
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2619 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 15:33 · PVG 23:33 · LAX 07:33 · JFK 10:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.