Martian 框架發布了 3.0.29 版本 - OSCHINA - 中文開源技術交流社區

2020-12-24 開源中國

Martian 原名叫 Mars-Java,為了避免跟 java 商標產生衝突,所以改名了。

先說點題外話

在遭受了 100 多條評論後,我認識到了一些問題,其中最大的就是 接口受理的請求方式太少了,在某些場景下不夠用。

首先呢,我得在解釋一次:Martian 是可以接收任意 http 請求的,只不過 api 接口只受理這麼幾種,我的限制不是做在服務上的,而是做在接口上的,所以呢 ajax 發出的那個 option 是可以正常接收並響應 200 的,完全沒問題。

希望大家以後不要在誤解咯。

本次更新的點

  1. 接口受理的請求方式更多了,新增了 PUT 和 DELETE,也就是目前為止,接口可以受理 GET,POET,DELETE,PUT 四種請求方式了, [為什麼不全支持,暫時不予解釋] 。

  2. 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);}

  1. beanName 屬性: 這裡也可以引用一個 bean,如果這裡引用了就以這個為主,如果這裡沒引用就以 interface 上的全局為主
  2. refName 屬性: 要引用的資源,可以是方法名也可以是屬性名,如果不設置,默認為這個方法的名稱
  3. refType 屬性: 用來標記 refName 裡設置的是方法名還是屬性名,默認為方法名

從這一刻開始,interface 和實現類徹底解耦了,他們不再是父子關係(父子關係那一套也一樣兼容),一個 interface 可以引用多個 bean 裡面的方法或者屬性,在一定程度上增加了 interface 的靈活性。

Martian 官網:http://www.mars-framework.com

相關焦點

  • 重磅推出:Gitee 2019 年度數據報告 - OSCHINA - 中文開源技術交流...
    大前端技術在 2019 年爭相進入落地期,催生出各種跨端方案。這些技術使得移動開發不再局限於 Android 與 iOS 這樣的特定端,直接用跨端框架開發「小程序」,成為了開發者更便捷的選擇。 2019年 Flutter 發布了迄今為止最重大的版本,一舉成為多平臺框架,支持移動、Web、桌面與嵌入式設備;而 Dart 也在與 C 的互操作、UI 構建和預編譯本地可執行程序等特性上大幅改進。 注重高效、安全與並行的系統級程式語言 Rust 受到越來越多開發者的關注和使用。
  • Spring Boot 2.3.0 發布 - OSCHINA - 中文開源技術交流社區
    Spring Boot 2.3.0 已經發布,此版本主要更新內容包括:依賴升級新版本核心組件依賴升級
  • ZStack 3.9.0 正式發布 - OSCHINA - 中文開源技術交流社區
    2020年6月23日,ZStack正式發布最新版本——ZStack 3.9.0,涵蓋一系列重要功能
  • Gfast 工作流引擎 1.0 正式發布 - OSCHINA - 中文開源技術交流社區
    Gfast管理系統採用go語言開發,基於GF(Go Frame)的後臺管理系統,現增加工作流引擎模塊開源發布,實現工作流引擎與業務解綁
  • TypeScript 3.8 發布 - OSCHINA - 中文開源技術交流社區
    TypeScript 3.8 現已發布。 該版本引入了幾個新功能,包括新的或即將發布的 ECMAScript 標準功能和僅用於導入/導出類型的新語法等等。
  • - OSCHINA - 中文開源技術交流...
    在甲骨文全面接管之前的SUN公司技術的第一年,甲骨文開始進入多頭並進的時代,因為公司計劃與開源社區和谷歌公司一爭高下。
  • 百度開源2020:二十個技術領域持續開源 飛槳、阿波羅成行業領先者...
    2020年發版情況如下:  【 1.7.0】版本對框架功能層面進行了重點增強,預測部署能力全面提升,分布式訓練發布PLSC支持超大規模分類,並對參數伺服器模式進行優化整合。  【 1.8.0】版本深度優化了命令式編程模式(動態圖)的功能、性能和體驗,框架基礎功能也進一步強化;全新發布量槳Paddle Quantum量子機器學習框架。  【2.0-RC1】飛槳核心框架重要升級,先後發布了2.0-alpha、2.0-beta、2.0-rc0、2.0-rc1共計 4個版本。
  • 百度飛槳推出開源框架V2.0RC版本,帶來「編程一致、動靜統一」全新...
    12月20日,由深度學習技術及應用國家工程實驗室與百度聯合主辦的WAVE SUMMIT+2020深度學習開發者峰會在北京舉辦。百度飛槳作為國內開源最早、技術領先、功能完備的產業級深度學習平臺,繼520峰會之後,持續發布前沿產業洞察,重磅技術升級和開源生態成果。
  • 重磅發布開源框架、生物計算平臺螺旋槳,百度飛槳交了年終成績單
    本屆峰會,百度飛槳帶來八大全新發布與升級,有支持前沿技術探索和應用的生物計算平臺 PaddleHelix 螺旋槳,開發更加便捷的飛槳開源框架 2.0 RC 版,端雲協同的 AI 集成開發環境 BML CodeLab,支持更強大分布式訓練的業界首個通用異構參數伺服器架構,開源算法庫增至 200+,飛槳企業版 EasyDL 智能數據服務升級,飛槳硬體生態路線圖以及攜手全球開發者開啟
  • GNOME 3.38 Beta 2 發布 - OSCHINA - 中文開源技術交流社區
    除了 FFmpeg,其他許多知名開源項目,諸如 TinyCC、QEMU、JSLinux 以及比較新的 QuickJS 均出自 Fabrice Bellard 之手,詳情查看 https://bellard.org/。 FFmpeg 單詞中...
  • JFinal 4.9 發布,持續精雕細琢 - OSCHINA - 中文開源技術交流社區
    JFinal 堅持極簡設計,迭代近 10 年,卻只有 3 萬行代碼,比傳統的同等功能組合類框架要少幾十倍的代碼量,這使得開發者可以完全掌控其原始碼,也成為學習 java 框架設計的絕佳資源。    經過這麼多年的迭代,JFinal 已經非常完善、成熟。
  • 媒體評熱門開源軟體Top100 17173技術大俠上榜
    編者按:日前,oschina評選出了國人開發的熱門開源軟體TOP100排行榜,其中,來自17173的技術大俠林良益開發的IKAnalyzer上榜。IK Analyzer 是一個開源的,基於java語言開發的輕量級的中文分詞工具包。
  • 百度開源2020年度報告:兩大開源平臺、九個捐贈項目
    2020年發版情況如下:【 1.7.0】版本對框架功能層面進行了重點增強,預測部署能力全面提升,分布式訓練發布PLSC支持超大規模分類,並對參數伺服器模式進行優化整合。【 1.8.0】版本深度優化了命令式編程模式(動態圖)的功能、性能和體驗,框架基礎功能也進一步強化;全新發布量槳Paddle Quantum量子機器學習框架。
  • KeePass 1.35 發布,密碼管理工具 - OSCHINA - 中文開源技術交流社區
    KeePass 1.35 發布了,KeePass是一款密碼管理工具.它能幫你記住電子郵件,主頁FTP,上網,論壇等用戶名和密碼,而免去了你眾多的煩惱,節省了時間.它把密碼保存在高度加密的資料庫中
  • 【建議收藏】10個適合程式設計師逛的在線社區
    今天,就和大家分享幾個自己經常逛的技術類社區和論壇: 1.gitHub 網站地址:https://github.com/網站簡介:gitHub是一個面向開源及私有軟體項目的託管平臺,因為只支持git作為唯一的版本庫格式進行託管,故名gitHub。
  • RuoYi 4.3.1 發布,請及時更換默認秘鑰 - OSCHINA - 中文開源技術...
    解決方案:升級版本到 >=v.4.3.1,並且重新生成一個新的秘鑰替換cipherKey,保證唯一且不要洩漏。解決方案:升級版本到 >=v.3.2.0,或者重新添加字符檢查String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());,防止注入繞過。package com.
  • 「騰訊開源十年圖譜」發布,覆蓋雲原生等五大技術領域
    開源是全球開發者共享知識、共建技術的橋梁,而跨越技術本身,開源還是解決人類共同難題的重要模式。12月19日,騰訊開源聯盟主席單致豪在騰訊 2020Techo Park 開發者大會上,集中發布了三大騰訊開源項目,同時還首次發布了「騰訊開源十年圖譜」。
  • 硬核AI開發者大會來襲:飛槳發布2.0 RC版,李宏毅老師課程上線
    越來越多的開發者加入飛槳,飛槳的技能也在開源社區的幫助下不斷前進。昨天,百度又為飛槳帶來了多項重磅升級更新。生物計算平臺「螺旋槳」發布今年的疫情加速了AI在生物醫療領域的應用。飛槳開源框架2.0 RC版而百度深度學習技術平臺部高級總監馬豔軍則帶來了飛槳開源框架的全新版本——2.0 RC版,為開發者提供「編程一致、動靜統一」的全新開發體驗。經過2年的研發,飛槳開源框架2.0RC版終於和開發者見面。
  • 鴻蒙 OS 2.0 開源了!
    鴻蒙 OS 代碼倉庫:https://openharmony.gitee.com/鴻蒙 OS 2.0 正式開源9月10日,在2020年華為開發者大會上,華為消費者業務CEO餘承東宣布,鴻蒙OS升級至2.0版本。
  • Dubbo3.0 - 開啟下一代雲原生微服務
    經過落地過程中不斷的打磨,Dubbo 無論是在性能上還是在擴展性方面,都成為了當時遙遙領先的 RPC 框架。為了更好地回饋開發用戶和其他有服務化需求的公司,在 2011 年 Dubbo 選擇了開源,並發布了 2.0.7 版本作為開源的第一個正式版本。開源後 Dubbo 蓬勃發展,社區活躍,獲得了開發者的一致好評。