手动创建问题可能非常耗时。 Copilot 聊天助手 可以通过自然语言创建问题,并能根据你的提示自动填充标题、正文、标签及其他元数据。
示例方案
你正在开发一个 API 服务,需要在createUser接口上添加服务器端验证。 与其手动起草问题,不如使用 Copilot 聊天助手 生成详细的问题说明,其中包括验证中间件的示例实现。
以下代码片段展示了在添加验证之前,createUser 路由的当前实现:
// Route
app.post('/users', validateCreateUser, (req, res) => {
const { username, email } = req.body;
// Simulate user creation
res.status(201).json({ message: 'User created', user: { username, email } });
});
示例提示
In octo-org/octo-repo, create an issue to add server-side validation for the createUser API endpoint. Include an example of how to validate the request body using an existing middleware pattern. Label it with "backend" and "enhancement".
示例响应
示例响应是一个范例
提交提示时,Copilot 聊天助手 会基于您的描述生成问题草稿,并附带代码片段。 可以在创建问题之前查看和编辑草稿。
## Problem
The `createUser` API endpoint currently lacks robust server-side validation for incoming requests. To ensure data integrity and security, we should validate the request body before proceeding with user creation.
**Current API endpoint:**
// Route
app.post('/users', validateCreateUser, (req, res) => {
const { username, email } = req.body;
// Simulate user creation
res.status(201).json({ message: 'User created', user: { username, email } });
});
## Proposal
- Add server-side validation for the request body using the existing middleware pattern.
- Ensure required fields (`username`, `email`) are present and valid.
- Return a 400 Bad Request response if validation fails.
**Example (middleware pattern):**
function validateCreateUser(req, res, next) {
const { username, email } = req.body;
if (!username || !email) {
return res.status(400).json({ error: 'Username and email are required.' });
}
// Additional validation logic here
next();
}
app.post('/users', validateCreateUser, (req, res) => {
// ...
});
## Acceptance Criteria
- Server-side validation middleware is added to the `createUser` endpoint.
- Request body is properly validated.
- Appropriate error responses are returned for invalid requests.