You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/README.md

284 lines
4.6 KiB

5 years ago
# API文档
---
## 基本介绍
开发API服务地址
https://testgitea.trustie.net/
5 years ago
响应状态说明:
|字段|类型|说明|
-|-|-
|status |int |响应状态码0:请求成功,-1: 请求失败|
|message |string |响应说明 |
### API接口
---
#### 用户注册(通过其他平台)
5 years ago
```
POST accounts/remote_register
5 years ago
```
*示例*
5 years ago
```
curl -X POST \
-d "email=2456233122@qq.com" \
-d "password=djs_D_00001" \
-d "phone=18816895620" \
-d "platform=forge" \
http://localhost:3000/api/accounts/remote_register | jq
5 years ago
```
*请求参数说明:*
|参数名|必选|类型|说明|
-|-|-|-
|email |是|string |邮箱 |
|phone |是|string |手机号 |
|password |是|string |秘密 |
|platform |否|string |用户来源的相关平台,取值范围['educoder', 'trustie', 'forge'], 默认值为forge |
*返回参数说明:*
|参数名|类型|说明|
-|-|-
|user|json object |返回数据|
|-- id |int |用户id |
|-- token |string|用户token|
5 years ago
返回值
5 years ago
```
{
"status": 0,
"message": "success",
"user": {
"id": 36400,
"token": "8c87a80d9cfacc92fcb2451845104f35119eda96"
}
}
5 years ago
```
---
5 years ago
#### 获取项目类别列表(可根据名称搜素)
5 years ago
```
GET api/project_categories
```
*示例*
```
curl -X GET \
-d "name=大数据" \
http://localhost:3000/api/project_categories/ | jq
```
*请求参数说明:*
|参数名|必选|类型|说明|
-|-|-|-
|name |否|string |类别名称 |
*返回参数说明:*
|参数名|类型|说明|
-|-|-
|project_categories|array |返回数据|
|-- id |int |类别id |
|-- name |string|类别名称|
返回值
```
{
"project_categories": [
{
"id": 1,
"name": "大数据"
}
]
}
5 years ago
```
---
#### 获取项目语言列表(可根据名称搜素)
5 years ago
```
GET api/project_languages
5 years ago
```
*示例*
```
curl -X GET \
-d "name=Ruby" \
http://localhost:3000/api/project_languages/ | jq
5 years ago
```
*请求参数说明:*
5 years ago
|参数名|必选|类型|说明|
-|-|-|-
|name |否|string |类别名称 |
5 years ago
*返回参数说明:*
5 years ago
|参数名|类型|说明|
-|-|-
|project_languages|array |返回数据|
|-- id |int |语言id |
|-- name |string|语言名称|
5 years ago
返回值
```
{
"project_languages": [
{
"id": 1,
"name": "Ruby"
}
]
}
```
---
#### 获取.gitignore模板列表(可根据名称搜素)
```
GET api/ignores
```
*示例*
```
curl -X GET \
-d "name=Ada" \
http://localhost:3000/api/ignores/ | jq
```
*请求参数说明:*
5 years ago
|参数名|必选|类型|说明|
-|-|-|-
|name |否|string |gitignore名称 |
5 years ago
*返回参数说明:*
5 years ago
|参数名|类型|说明|
-|-|-
|ignores|array |返回数据|
|-- id |int |id |
|-- name |string|gitignore名称|
5 years ago
返回值
```
{
"ignores": [
{
"id": 1,
"name": "Ada"
}
]
}
```
---
#### 获取开源许可证列表(可根据名称搜素)
```
GET api/licenses
```
*示例*
```
curl -X GET \
-d "name=AFL" \
http://localhost:3000/api/licenses/ | jq
```
*请求参数说明:*
|参数名|必选|类型|说明|
-|-|-|-
|name |否|string |开源许可证名称 |
*返回参数说明:*
|参数名|类型|说明|
-|-|-
|licenses|array |返回数据|
|-- id |int |id |
|-- name |string|开源许可证名称|
返回值
```
{
"licenses": [
{
"id": 57,
"name": "AFL-1.2"
},
{
"id": 76,
"name": "AFL-3.0"
},
{
"id": 214,
"name": "AFL-1.1"
},
{
"id": 326,
"name": "AFL-2.1"
},
{
"id": 350,
"name": "AFL-2.0"
}
]
5 years ago
}
```
---
5 years ago
#### 创建项目
```
POST api/projects
```
*示例*
```
curl -X POST \
-d "user_id=36401" \
-d "name=好项目" \
-d "description=my first project" \
-d "repository_name=gorails" \
-d "project_category_id=1" \
-d "project_language_id=2" \
http://localhost:3000/api/projects/ | jq
```
*请求参数说明:*
|参数名|必选|类型|说明|
-|-|-|-
|user_id |是|int |用户id或者组织id |
|name |是|string |项目名称 |
|description |是|string |项目描述 |
|repository_name |是|string |仓库名称, 只含有数字、字母、下划线不能以下划线开头和结尾,且唯一 |
|project_category_id|是|int |项目类别id |
|project_language_id|是|int |项目语言id |
|ignore_id |否|int |gitignore相关id |
|license_id |否|int |开源许可证id |
|private |否|boolean|项目是否私有, true为私有false: 公开,默认为公开 |
5 years ago
*返回参数说明:*
|参数名|类型|说明|
-|-|-
|id |int |id |
|name |string|项目名称|
5 years ago
返回值
```
{
"id": 3240,
"name": "好项目"
}
```
---