# developer #
### 一历帚、快速開始:
1,安裝部署 nacos
參考:https://nacos.io/zh-cn/docs/what-is-nacos.html
安裝完成之后杠娱,假設(shè) nacos 地址為:? http://nacos.server:8848
有兩種方式挽牢,讓開發(fā)者中心連接到 nacos:
a,設(shè)置環(huán)境變量:
`// 設(shè)置 namespace摊求,非必填項(xiàng)禽拔,如果不填則默認(rèn)訪問(wèn)public命名空間`
`export NACOS_NAMESPACE=e9cc9114-647c-46c2-bc61-5dfaafe77a8f`
`// 設(shè)置 nacos 服務(wù)地址`
`export NACOS_SERVER_ADDR=http://nacos.server:8848`
b,啟動(dòng)開發(fā)者中心設(shè)置系統(tǒng)參數(shù),如:
`java -jar -Dnacos.namespace=e9cc9114-647c-46c2-bc61-5dfaafe77a8f -Dnacos.server.addr=http://nacos.server:8848? developer-1.0.0.jar &`
如果不設(shè)置 namespace睹栖,則:
`java -jar -Dnacos.server.addr=http://nacos.server:8848? developer-1.0.0.jar &`
**2硫惕,導(dǎo)入mysql表結(jié)構(gòu)**
sql:<a target="_blank">developer.sql</a>
**3,配置數(shù)據(jù)庫(kù)連接**
在 nacos 中配置如下:
```dataId: DEVELOPER```
```group:? MYSQL```
```content:```
```
#主庫(kù)配置
write.jdbc.url=jdbc:mysql://MYSQL_ADDRESS:3306/developer?useUnicode=true&characterEncoding=utf8&failOverReadOnly=false&useSSL=false
write.jdbc.user=USER
write.jdbc.password=PASSWORD
write.jdbc.initialSize=1
write.jdbc.maxActive=80
write.jdbc.minIdle=10
write.jdbc.maxWait=60000
write.jdbc.testOnBorrow=false
write.jdbc.testOnReturn=false
write.jdbc.testWhileIdle=true
write.jdbc.timeBetweenEvictionRunsMillis=60000
write.jdbc.minEvictableIdleTimeMillis=25200000
write.jdbc.removeAbandoned=true
write.jdbc.removeAbandonedTimeout=1800
write.jdbc.logAbandoned=true
write.jdbc.filters=mergeStat
#讀庫(kù)配置
read.jdbc.initialSize=1
read.jdbc.maxActive=80
read.jdbc.minIdle=10
read.jdbc.maxWait=60000
read.jdbc.testOnBorrow=false
read.jdbc.testOnReturn=false
read.jdbc.testWhileIdle=true
read.jdbc.timeBetweenEvictionRunsMillis=60000
read.jdbc.minEvictableIdleTimeMillis=25200000
read.jdbc.removeAbandoned=true
read.jdbc.removeAbandonedTimeout=1800
read.jdbc.logAbandoned=true
read.jdbc.filters=mergeStat
#讀庫(kù)鏈接配置
read.jdbc.url=jdbc:mysql://MYSQL_ADDRESS:3306/developer?useUnicode=true&characterEncoding=utf8&useSSL=false
read.jdbc.user=USER
read.jdbc.password=PASSWORD
```
**4野来,啟動(dòng)服務(wù)**
```java -jar developer-1.0.0.jar &```
日志文件在:
/home/logs/developer/目錄下恼除;
**5,使用**
在你的其他項(xiàng)目里面引入依賴:
```
<dependency>
? ? <groupId>com.gomcarter.frameworks</groupId>
? ? <artifactId>interfaces-starter</artifactId>
? ? <version>${frameworks.version}</version>
</dependency>
```
見:<a target="_blank">mvn 中央倉(cāng)庫(kù)地址</a>
使用規(guī)范:
```
1梁只,@GetMapping(value = "list",name = "接口名稱")
? @RequestMapping(value = "list",name = "接口名稱缚柳,如果名稱為空埃脏,則此接口不會(huì)存入接口中心")
2搪锣, 接口、參數(shù)彩掐、返回值使用com.gomcarter.frameworks.interfaces.annotation.Notes构舟,如下:
? @Notes("this interface for user login")
? @GetMapping(value = "list",name = "接口名稱")
? public ReturnDto list(@Notes("id") Long id, Params params) {
? }
? class Params {
? ? ? @Notes("xxxx")
? ? ? private String name;
? ? ? @Notes("yyyy")
? ? ? private List<ParamsAA> list;
? }
? class ReturnDto {
? ? ? @Notes("xxxx")
? ? ? private String name;
? ? ? @Notes("yyyy")
? ? ? private List<ParamsAA> list;
? }
```
配置發(fā)者中心:
打開開發(fā)者中心:http://developer.server:port
a,配置前端系統(tǒng)堵幽,需要根據(jù)接口的第一個(gè)目錄開區(qū)分給哪個(gè)端提供的接口狗超,如
http://xserver.com/end1/xxx
http://xserver.com/end2/yyy
http://xserver.com/end3/zzz
end1,end2,end3用來(lái)區(qū)分哪個(gè)端提供的接口,所以對(duì)接口的設(shè)計(jì)有要求朴下, 如圖:
b努咐,配置模塊
模塊的意思其實(shí)就是 java 項(xiàng)目,配置這個(gè) java 項(xiàng)目的信息
c殴胧,導(dǎo)入接口
接口詳情:
接口測(cè)試:
接口自動(dòng)化測(cè)試:
配置用例:
用戶管理