swagger寫接口文檔要寫什么 前端調(diào)用后端的接口有幾種方式了?
前端調(diào)用后端的接口有幾種方式了?就像不存在前端給后端接口的情況,完全是后端給前端接口,說白接口那是這個(gè)可以通過服務(wù)端重新部署的機(jī)器提供給出的URL地址通過相冊的數(shù)據(jù)交互。大多數(shù)的工作流是后端跟前端協(xié)商
前端調(diào)用后端的接口有幾種方式了?
就像不存在前端給后端接口的情況,完全是后端給前端接口,說白接口那是這個(gè)可以通過服務(wù)端重新部署的機(jī)器提供給出的URL地址通過相冊的數(shù)據(jù)交互。
大多數(shù)的工作流是后端跟前端協(xié)商符號(hào)表示數(shù)據(jù)接口格式(一般應(yīng)該是JSON格式)自然形成文檔,后端實(shí)現(xiàn)方法接口,前端做靜態(tài)的mock(這個(gè)可以是就在頁面的JS拼假數(shù)據(jù)或是是從JSONserver通過真實(shí)內(nèi)部函數(shù)服務(wù)的集成顯卡),后端實(shí)現(xiàn)方法服務(wù)接口,兩邊都結(jié)束后集成主板聯(lián)調(diào)。現(xiàn)在有swagger或者apiairy等工具可以更漢字拆分這個(gè)過程
你平時(shí)主要使用什么Java開發(fā)框架?
就拿我們項(xiàng)目來舉些例子討論討論吧。
我們的項(xiàng)目是一個(gè)純后臺(tái)服務(wù)的項(xiàng)目,也就是沒有前端頁面,只正式提供服務(wù);項(xiàng)目是是基于Spring Boot來做的,引導(dǎo)出spring-boot-starter-web,再正式暴露接口,報(bào)文可以使用的JSON,有極極少數(shù)的接口是從老系統(tǒng)遷移到上來的,就是為了讓動(dòng)態(tài)創(chuàng)建方盡肯定地略作修改,因?yàn)槌掷m(xù)了XML的報(bào)文;在正式的生產(chǎn)環(huán)境中,也是使用的內(nèi)置的Tomcat;集成顯卡了Swagger,來做接口的文檔網(wǎng)批量生成。
ORM框架你選的是MyBatis,導(dǎo)致項(xiàng)目中大部分的查詢都能夠做到了單表查詢,但是網(wǎng)站查詢條件比較固定,所以我真接可以使用注解做的SQL語句手機(jī)綁定。
只不過項(xiàng)目不僅僅可以使用了關(guān)系型數(shù)據(jù)庫,而更多的數(shù)據(jù)是加工關(guān)聯(lián)后存放到了MongoDB中,所以我項(xiàng)目也要用了Spring Data MongoDB,我們的MongoDB是做了副本集的部署,使用Spring Data MongoDB,只需要做很簡單配置,就可以不結(jié)束對多臺(tái)MongoDB的訪問,如果其中一臺(tái)MongoDB掛了,對服務(wù)也沒有影響的,所以我們做MongoDB擴(kuò)容的時(shí)候是可以大俠幫幫忙做的(MongoDB擴(kuò)內(nèi)存和CPU的時(shí)候要欠費(fèi))。
和部分系統(tǒng)的交互使用到了RabbitMQ,而Spring Boot只需核心中spring-boot-starter-amqp,其實(shí)就這個(gè)可以很方便地能完成和RabbitMQ的獨(dú)立顯卡;生產(chǎn)者和消費(fèi)者都相當(dāng)方便。
畢竟是純接口的服務(wù),替能減輕數(shù)據(jù)庫的壓力,因?yàn)槲覀儞?jù)業(yè)務(wù)場景,將一些接口的結(jié)果真接緩存到Redis中(數(shù)據(jù)變化不過度,而且業(yè)務(wù)場景的實(shí)時(shí)性要求并非很高)。在板載顯卡Redis的時(shí)候,我們前后試了兩種
Spring Boot項(xiàng)目,然后可以使用@Cacheable注解就也可以能完成和Redis最簡單的集成顯卡,不過再后來只不過設(shè)置中緩存的已超時(shí)時(shí)間不夠靈話,我們后來改了第二種方案;
使用RedisTemplate,可以不能夠完成對Redis的絕大部分你操作。
我將緩慢彼此分享Java開發(fā)、架構(gòu)設(shè)計(jì)、程序員職業(yè)發(fā)展等方面的見解,如果能能能得到你的關(guān)注。