284 lines
6.8 KiB
YAML
284 lines
6.8 KiB
YAML
basePath: /api/v1
|
||
definitions:
|
||
controller.Properties:
|
||
type: object
|
||
controller.Response:
|
||
properties:
|
||
code:
|
||
description: 业务状态码
|
||
type: integer
|
||
data:
|
||
description: 业务数据
|
||
message:
|
||
description: 提示信息
|
||
type: string
|
||
type: object
|
||
device.CreateDeviceRequest:
|
||
type: object
|
||
device.DeviceResponse:
|
||
properties:
|
||
created_at:
|
||
type: string
|
||
id:
|
||
type: integer
|
||
location:
|
||
type: string
|
||
name:
|
||
type: string
|
||
parent_id:
|
||
type: integer
|
||
properties:
|
||
$ref: '#/definitions/controller.Properties'
|
||
sub_type:
|
||
$ref: '#/definitions/models.DeviceSubType'
|
||
type:
|
||
$ref: '#/definitions/models.DeviceType'
|
||
updated_at:
|
||
type: string
|
||
type: object
|
||
device.UpdateDeviceRequest:
|
||
properties:
|
||
location:
|
||
type: string
|
||
name:
|
||
type: string
|
||
parent_id:
|
||
type: integer
|
||
properties:
|
||
$ref: '#/definitions/controller.Properties'
|
||
sub_type:
|
||
$ref: '#/definitions/models.DeviceSubType'
|
||
type:
|
||
$ref: '#/definitions/models.DeviceType'
|
||
required:
|
||
- name
|
||
- type
|
||
type: object
|
||
models.DeviceSubType:
|
||
enum:
|
||
- ""
|
||
- temperature
|
||
- humidity
|
||
- ammonia
|
||
- feed_valve
|
||
- fan
|
||
- water_curtain
|
||
type: string
|
||
x-enum-varnames:
|
||
- SubTypeNone
|
||
- SubTypeSensorTemp
|
||
- SubTypeSensorHumidity
|
||
- SubTypeSensorAmmonia
|
||
- SubTypeValveFeed
|
||
- SubTypeFan
|
||
- SubTypeWaterCurtain
|
||
models.DeviceType:
|
||
enum:
|
||
- area_controller
|
||
- device
|
||
type: string
|
||
x-enum-varnames:
|
||
- DeviceTypeAreaController
|
||
- DeviceTypeDevice
|
||
user.CreateUserRequest:
|
||
properties:
|
||
password:
|
||
example: password123
|
||
minLength: 6
|
||
type: string
|
||
username:
|
||
example: newuser
|
||
type: string
|
||
required:
|
||
- password
|
||
- username
|
||
type: object
|
||
user.CreateUserResponse:
|
||
properties:
|
||
id:
|
||
example: 1
|
||
type: integer
|
||
username:
|
||
example: newuser
|
||
type: string
|
||
type: object
|
||
user.LoginRequest:
|
||
properties:
|
||
password:
|
||
example: password123
|
||
type: string
|
||
username:
|
||
example: testuser
|
||
type: string
|
||
required:
|
||
- password
|
||
- username
|
||
type: object
|
||
user.LoginResponse:
|
||
properties:
|
||
id:
|
||
example: 1
|
||
type: integer
|
||
token:
|
||
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
|
||
type: string
|
||
username:
|
||
example: testuser
|
||
type: string
|
||
type: object
|
||
host: localhost:8086
|
||
info:
|
||
contact:
|
||
email: divano@example.com
|
||
name: Divano
|
||
url: http://www.example.com
|
||
description: 这是一个用于管理猪场设备的后端服务。
|
||
license:
|
||
name: Apache 2.0
|
||
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
||
title: 猪场管理系统 API
|
||
version: "1.0"
|
||
paths:
|
||
/devices:
|
||
get:
|
||
description: 获取系统中所有设备的列表
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 获取设备列表
|
||
tags:
|
||
- 设备管理
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 根据提供的信息创建一个新设备
|
||
parameters:
|
||
- description: 设备信息
|
||
in: body
|
||
name: device
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/device.CreateDeviceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 创建新设备
|
||
tags:
|
||
- 设备管理
|
||
/devices/{id}:
|
||
delete:
|
||
description: 根据设备ID删除一个设备(软删除)
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 删除设备
|
||
tags:
|
||
- 设备管理
|
||
get:
|
||
description: 根据设备ID获取单个设备的详细信息
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: string
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 获取设备信息
|
||
tags:
|
||
- 设备管理
|
||
put:
|
||
consumes:
|
||
- application/json
|
||
description: 根据设备ID更新一个已存在的设备信息
|
||
parameters:
|
||
- description: 设备ID
|
||
in: path
|
||
name: id
|
||
required: true
|
||
type: string
|
||
- description: 要更新的设备信息
|
||
in: body
|
||
name: device
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/device.UpdateDeviceRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 更新设备信息
|
||
tags:
|
||
- 设备管理
|
||
/users:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 根据用户名和密码创建一个新的系统用户。
|
||
parameters:
|
||
- description: 用户信息
|
||
in: body
|
||
name: user
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/user.CreateUserRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体(例如400, 409, 500)
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 创建新用户
|
||
tags:
|
||
- 用户管理
|
||
/users/login:
|
||
post:
|
||
consumes:
|
||
- application/json
|
||
description: 用户使用用户名和密码登录,成功后返回 JWT 令牌。
|
||
parameters:
|
||
- description: 登录凭证
|
||
in: body
|
||
name: credentials
|
||
required: true
|
||
schema:
|
||
$ref: '#/definitions/user.LoginRequest'
|
||
produces:
|
||
- application/json
|
||
responses:
|
||
"200":
|
||
description: 业务失败,具体错误码和信息见响应体(例如400, 401, 500)
|
||
schema:
|
||
$ref: '#/definitions/controller.Response'
|
||
summary: 用户登录
|
||
tags:
|
||
- 用户管理
|
||
swagger: "2.0"
|