- Go + Gin + GORM + PostgreSQL backend - RESTful API for material management - Docker deployment support - Database partitioning for billion-scale data - API documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
243 lines
5.7 KiB
JSON
243 lines
5.7 KiB
JSON
{
|
|
"info": {
|
|
"_postman_id": "material-texture-api",
|
|
"name": "材质管理系统 API",
|
|
"description": "材质管理后端服务API集合",
|
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
|
},
|
|
"auth": {
|
|
"type": "apikey",
|
|
"apikey": [
|
|
{
|
|
"key": "key",
|
|
"value": "X-API-Token",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"key": "value",
|
|
"value": "{{api_token}}",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"key": "in",
|
|
"value": "header",
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"variable": [
|
|
{
|
|
"key": "base_url",
|
|
"value": "http://localhost:8081",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"key": "api_token",
|
|
"value": "seatons3d",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"item": [
|
|
{
|
|
"name": "健康检查",
|
|
"item": [
|
|
{
|
|
"name": "Health Check",
|
|
"request": {
|
|
"auth": {
|
|
"type": "noauth"
|
|
},
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{base_url}}/health",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["health"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "材质管理",
|
|
"item": [
|
|
{
|
|
"name": "1. 获取材质列表",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials?page=1&page_size=20&name=",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials"],
|
|
"query": [
|
|
{
|
|
"key": "page",
|
|
"value": "1",
|
|
"description": "页码"
|
|
},
|
|
{
|
|
"key": "page_size",
|
|
"value": "20",
|
|
"description": "每页数量"
|
|
},
|
|
{
|
|
"key": "name",
|
|
"value": "",
|
|
"description": "按名称搜索"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "2. 添加材质",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"name\": \"新材质\",\n \"diffuse_r\": 255,\n \"diffuse_g\": 128,\n \"diffuse_b\": 64,\n \"alpha\": 255,\n \"shininess\": 20,\n \"specular_r\": 230,\n \"specular_g\": 230,\n \"specular_b\": 230,\n \"ambient_r\": 50,\n \"ambient_g\": 50,\n \"ambient_b\": 50,\n \"metallic\": 0.5,\n \"roughness\": 0.3,\n \"reflectance\": 0.5\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "3. 获取材质详情",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/4",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "4"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "4. 编辑材质",
|
|
"request": {
|
|
"method": "PUT",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"name\": \"更新后的材质\",\n \"diffuse_r\": 200,\n \"diffuse_g\": 100,\n \"diffuse_b\": 50,\n \"alpha\": 255,\n \"shininess\": 30,\n \"specular_r\": 200,\n \"specular_g\": 200,\n \"specular_b\": 200,\n \"ambient_r\": 60,\n \"ambient_g\": 60,\n \"ambient_b\": 60,\n \"metallic\": 0.8,\n \"roughness\": 0.2,\n \"reflectance\": 0.6\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/4",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "4"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "5. 删除材质",
|
|
"request": {
|
|
"method": "DELETE",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/999",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "999"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "绑定管理",
|
|
"item": [
|
|
{
|
|
"name": "6. 绑定材质到Groups",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"group_ids\": [\"node_001\", \"node_002\", \"node_003\"]\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/4/bindings",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "4", "bindings"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "7. 解绑材质与Groups",
|
|
"request": {
|
|
"method": "DELETE",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"group_ids\": [\"node_001\", \"node_002\"]\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/4/bindings",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "4", "bindings"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "8. 获取材质关联的Groups",
|
|
"request": {
|
|
"method": "GET",
|
|
"header": [],
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/materials/4/groups",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "materials", "4", "groups"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "9. 根据Groups批量查询材质",
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"group_ids\": [\"202510211057245681447\", \"aDsIXMkjxdm2CDUj9gTvf\"]\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/api/v1/groups/materials",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["api", "v1", "groups", "materials"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|