---
# System prepended metadata

title: API 重構
tags: [mPOS]

---

---
tags: mPOS
---
# API 重構

## dotnet Core 架構

### 環境
#### 開發
.net core 5
#### product環境(Rasberry PI)
.net core 5 runtime
ngnix(已安裝)
/etc/ngnix/conf.d/tk3c.conf
需修改設定將.netcore 5000 port掛上ngnix

![](https://i.imgur.com/Dg1vK7m.png)

### DB連線方式
目前測試過 dapper及entity framework都可使用執行時間也差不多
,但entity framework需重新撰寫LINQ語法,dapper可套用現有SQL

目前實作API FF
### 系統架構

```plantuml
@startuml
package "服務"{
  <> dInject


  Startup <|-- dInject

  dInject -- Swagger
  dInject -- JWT
  JWT -- JWTHelper 
  dInject -- Nlog
  dInject -- OracleDB
  dInject -- ApiFilter
  dInject -- Mqtt尚未做

}

@enduml
```

```plantuml
@startuml
package "MVC架構"{
  <> dInject


  入口 <|-- dInject

  dInject -- Controllers
  Controllers -- CommonAPI
  CommonAPI <|-- FF: @Interface
  CommonAPI <|-- Token: @Interface
  dInject -- Model
  Model -- BLL
  BLL <|-- DataProcess
  DataProcess <|-- FFDataProcess: @Interface
  DataProcess <|-- EmployeeDataProcess: @Interface
  dInject -- VIEW: 無使用

}

@enduml
```