Martian 框架发布了 3.0.29 版本
Martian 原名叫 Mars-Java,为了避免跟 java 商标产生冲突,所以改名了。
先说点题外话
在遭受了 100 多条评论后,我认识到了一些问题,其中最大的就是 接口受理的请求方式太少了,在某些场景下不够用。
首先呢,我得在解释一次:Martian 是可以接收任意 http 请求的,只不过 api 接口只受理这么几种,我的限制不是做在服务上的,而是做在接口上的,所以呢 ajax 发出的那个 option 是可以正常接收并响应 200 的,完全没问题。
希望大家以后不要在误解咯。
本次更新的点
-
接口受理的请求方式更多了,新增了 PUT 和 DELETE,也就是目前为止,接口可以受理 GET,POET,DELETE,PUT 四种请求方式了, [为什么不全支持,暂时不予解释] 。
-
API 新增 @MarsReference 注解
新增的 PUT 和 DELETE 怎么用
很简单,跟之前的 GET,POST 一样设置,只不过 ReqMethod 里面多了两个选项.
@RequestMethod(ReqMethod.PUT)
String expUploadRequest(ExpVO expVO)
@MarsReference 注解是啥
我们目前的声明式 API,采用的如下机制:
- 创建 interface -> 创建实现类 -> 在 interface 上加上 MarsApi 注解
这样会出现一些局限,那就是一个 interface 只能对应一个实现类,玩起来就像是 service 的父接口一样, 为了改善这个情况,我提供了一个新的注解 @MarsReference
这个注解怎么用呢?请看下面示例,注意看注释和双引号里的汉字
/**
* 老套路,正常声明一个接口
*/
@MarsApi(refBean = "这里还是可以引用 bean")
public interface ExpApi {
/**
* get 请求示例
* http://127.0.0.1:8080/expGetRequest?name=张三&names=王五&names=赵六
* @param expVO
* @return
*/
@MarsReference(beanName = "这里的规则,请看下面第一点",refName = "这里的规则,请看下面第二点",refType = RefType.METHOD)
List<ExpVO> expGetRequest(ExpVO expVO);
}
- beanName 属性: 这里也可以引用一个 bean,如果这里引用了就以这个为主,如果这里没引用就以 interface 上的全局为主
- refName 属性: 要引用的资源,可以是方法名也可以是属性名,如果不设置,默认为这个方法的名称
- refType 属性: 用来标记 refName 里设置的是方法名还是属性名,默认为方法名
从这一刻开始,interface 和实现类彻底解耦了,他们不再是父子关系(父子关系那一套也一样兼容),一个 interface 可以引用多个 bean 里面的方法或者属性,在一定程度上增加了 interface 的灵活性。
Martian 官网:http://www.mars-framework.com

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Vivaldi 3.2 发布,在画中画模式中添加了静音按钮
Vivaldi 3.2现已发布,该版本在弹出视频(画中画)模式中增加了一个静音按钮,并进行了总体改进和与安全相关的修复程序。 弹出视频更完善 Vivaldi 的最新版本使用户可以更好地控制如何通过任何视频提供商(例如YouTube,Netflix,Twitch等)观看视频内容。 用户只需单击显示在视频中央的小视频框图标,即可在单独的可移动、可调整大小的浮动窗口中启动它。如果用户希望专注于其他任务,可以在“网页”下的“设置”中禁用此功能。新版本中的一个关键改进内容为,添加了静音按钮。 Vivaldi 团队称,“这使 Vivaldi 成为提供此功能的用户友好实现的少数 Chromium 浏览器之一-用户在以画中画模式观看视频时,只需单击一下即可静音和取消静音。在“在家工作”或“待在家”的当前情况下,静音按钮是一个受欢迎的功能。如果用户突然需要参加在线会议,接电话或处理其他干扰,这将非常方便。” 此外,画中画体验还带有一系列其他功能,包括支持通过右键单击主选项卡来控制播放窗口中的声音。换句话说,如果要使在画中画模式下播放的视频静音,只需在 Vivaldi 中的选项卡上单击鼠标右键,然后单击“...
-
下一篇
Redisson 3.13.3 发布,官方推荐的 Redis 客户端
Redisson3.13.3 发布了,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。 主要更新内容: 将对 BITFIELD 命令的支持添加到 RBitSet 对象 调用 RLiveObjectService.persist() 方法后,重置 ClassIntrospector 实例 池初始化期间,同时创建的连接数减少到 10 修复"SlaveConnectionPool no available Redis entries" error 在 RedisConnection 对象加入 freeConnections 之前检查 RedisConnection 状态 修复不同的主题订阅了集群中的同一 Redis 节点问题 修复 RFairLock.tryLock()方法不应用 waitTimeout 参数的问题 修复RLiveObjectService.delete() 方法异步工作的问题 修复如果设置了 RMapCache.EntryRemovedListener,将引发反序列化异常的问...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作