通常在ddd開發架構中,我們寫完服務層需要在控制器中寫api,今天介紹乙個元件plus.autoapi
可以用它來動態生成 restful 風格的 webapi,不用寫 controller。
在你的應用服務層中新增元件
install-package plus.autoapi
在 startup 中註冊 autoapi
public void configureservices(iservicecollection services)
);}
addautoapi
同時也支援各種 options 引數,可以自行檢視。
讓你的服務直接或者間接實現iautoapi
,新增特性[autoapi]
即可,示例**如下:
如果你想讓某個服務不自動生成api,可以給特性傳遞引數:[autoapi(disabled = true)]
讓生成的api相容 swagger,需要新增下面這句**。
services.addswaggergen(options =>
);options.docinclusionpredicate((docname, description) => true);});
同時自動生成api也可以和控制器共存,互不影響。你可以手動指定http方法,也可以根據預設規則自動建立。
預設自動建立http方法的規則如下:
static plusconsts()
;}
上面**最終生成的api路由如下:
restful api文件生成器 神器
我現在還不是很懂到底什麼才是restful api,目前理解的大概就是 一種介面,只管拿引數進來,做一系列處理,返回json字串形式的結果。而restful api風格的api文件,就是用來說明這個介面需要傳進什麼引數,每個引數是什麼含義,有什麼要求,經過處理之後,該介面返回了什麼內容,每乙個資料代...
動態生成CS檔案(動態生成C 類)
1.codetypedeclaration 可用於表示宣告類 結構 介面或列舉的 官方傳送門 2.codememberfield 表示某種型別的字段的宣告 官方傳送門 3.codedomprovider 可用於建立和檢索 生成器和 編譯器的例項。生成器可用於以特定的語言生成 而 編譯器可用於將 編譯...
動態生成Table DataSet
querymsmqlist querymsmq new querymsmqlist private coreexchange listquerylist querymsmq.mreceive dataset dsqueuemsmq new dataset datatable dsqueuetable...