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.
		
		
		
		
		
			| 
				
					
						 | 
			6 years ago | |
|---|---|---|
| .ipynb_checkpoints | 6 years ago | |
| app | 6 years ago | |
| bin | 6 years ago | |
| config | 6 years ago | |
| db | 6 years ago | |
| lib | 6 years ago | |
| public | 6 years ago | |
| spec | 6 years ago | |
| test | 6 years ago | |
| tmp | 6 years ago | |
| vendor | 6 years ago | |
| warn | 6 years ago | |
| .gitignore | 6 years ago | |
| .merge_file_a17580 | 6 years ago | |
| Gemfile | 6 years ago | |
| README.md | 6 years ago | |
| Rakefile | 6 years ago | |
| bootstrap-datetimepicker.css | 6 years ago | |
| config.ru | 6 years ago | |
| docker-compose.yml | 6 years ago | |
| dump.rdb | 6 years ago | |
| educoder-2019-12-11.sql.zip | 6 years ago | |
		
			
				
				README.md
			
		
		
	
	API文档
基本介绍
开发API服务地址:
https://testgitea.trustie.net/
响应状态说明:
| 字段 | 类型 | 说明 | 
|---|---|---|
| status | int | 响应状态码,0:请求成功,-1: 请求失败 | 
| message | string | 响应说明 | 
API接口
用户注册(通过其他平台)
POST accounts/remote_register
示例
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
请求参数说明:
| 参数名 | 必选 | 类型 | 说明 | 
|---|---|---|---|
| 是 | string | 邮箱 | |
| phone | 是 | string | 手机号 | 
| password | 是 | string | 秘密 | 
| platform | 否 | string | 用户来源的相关平台,取值范围['educoder', 'trustie', 'forge'], 默认值为forge | 
返回参数说明:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| user | json object | 返回数据 | 
| -- id | int | 用户id | 
| -- token | string | 用户token | 
返回值
{
  "status": 0,
  "message": "success",
  "user": {
    "id": 36400,
    "token": "8c87a80d9cfacc92fcb2451845104f35119eda96"
  }
}
获取项目类别列表(可根据名称搜素)
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": "大数据"
    }
  ]
}
获取项目语言列表(可根据名称搜素)
GET api/project_languages
示例
curl -X GET \
-d "name=Ruby" \
http://localhost:3000/api/project_languages/  | jq
请求参数说明:
| 参数名 | 必选 | 类型 | 说明 | 
|---|---|---|---|
| name | 否 | string | 类别名称 | 
返回参数说明:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| project_languages | array | 返回数据 | 
| -- id | int | 语言id | 
| -- name | string | 语言名称 | 
返回值
{
  "project_languages": [
    {
      "id": 1,
      "name": "Ruby"
    }
  ]
}
获取.gitignore模板列表(可根据名称搜素)
GET api/ignores
示例
curl -X GET \
-d "name=Ada" \
http://localhost:3000/api/ignores/  | jq
请求参数说明:
| 参数名 | 必选 | 类型 | 说明 | 
|---|---|---|---|
| name | 否 | string | gitignore名称 | 
返回参数说明:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| ignores | array | 返回数据 | 
| -- id | int | id | 
| -- name | string | gitignore名称 | 
返回值
{
  "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"
    }
  ]
}
创建项目
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: 公开,默认为公开 | 
返回参数说明:
| 参数名 | 类型 | 说明 | 
|---|---|---|
| id | int | id | 
| name | string | 项目名称 | 
返回值
{
  "id": 3240,
  "name": "好项目"
}