代码生成 API
本文档描述了 Trae 代码生成功能的 API 接口。
概述
代码生成 API 允许您根据描述、模板或规范自动生成代码,支持多种编程语言和框架。
端点
生成代码
http
POST /api/code-generation/generate请求参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
prompt | string | 是 | 代码生成提示 |
language | string | 是 | 目标编程语言 |
framework | string | 否 | 使用的框架 |
style | string | 否 | 代码风格 |
context | object | 否 | 上下文信息 |
响应
json
{
"code": "function calculateSum(a, b) {\n return a + b;\n}",
"language": "javascript",
"explanation": "这个函数计算两个数的和",
"suggestions": [
"添加参数类型检查",
"考虑处理边界情况"
]
}生成测试代码
http
POST /api/code-generation/test请求参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
source_code | string | 是 | 源代码 |
test_framework | string | 否 | 测试框架 |
coverage_type | string | 否 | 覆盖类型 |
响应
json
{
"test_code": "describe('calculateSum', () => {\n it('should return sum of two numbers', () => {\n expect(calculateSum(2, 3)).toBe(5);\n });\n});",
"framework": "jest",
"test_cases": [
{
"name": "正常情况测试",
"input": [2, 3],
"expected": 5
}
]
}生成文档
http
POST /api/code-generation/documentation请求参数
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
source_code | string | 是 | 源代码 |
doc_format | string | 否 | 文档格式 (jsdoc, sphinx, etc.) |
language | string | 是 | 编程语言 |
响应
json
{
"documentation": "/**\n * 计算两个数的和\n * @param {number} a - 第一个数\n * @param {number} b - 第二个数\n * @returns {number} 两数之和\n */",
"format": "jsdoc"
}支持的语言
- JavaScript/TypeScript
- Python
- Java
- C#
- Go
- Rust
- PHP
- Ruby
代码风格选项
standard- 标准风格google- Google 风格airbnb- Airbnb 风格prettier- Prettier 风格
示例
生成函数代码
javascript
const response = await fetch('/api/code-generation/generate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
prompt: '创建一个计算数组平均值的函数',
language: 'javascript',
style: 'standard',
context: {
project_type: 'node',
es_version: 'es2020'
}
})
});
const result = await response.json();
console.log('生成的代码:', result.code);生成测试用例
javascript
const sourceCode = `
function calculateAverage(numbers) {
if (numbers.length === 0) return 0;
const sum = numbers.reduce((a, b) => a + b, 0);
return sum / numbers.length;
}
`;
const response = await fetch('/api/code-generation/test', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
source_code: sourceCode,
test_framework: 'jest',
coverage_type: 'unit'
})
});
const testResult = await response.json();
console.log('生成的测试:', testResult.test_code);