La création manuelle de problèmes peut prendre du temps. Discussion avec Copilot vous permet de créer des problèmes à partir du langage naturel et de remplir automatiquement le titre, le corps, les étiquettes et d’autres métadonnées en fonction de votre invite.
Exemple de scénario
Vous travaillez sur un service d’API et devez ajouter la validation côté serveur au createUser point de terminaison. Au lieu de rédiger manuellement le problème, vous utilisez Discussion avec Copilot pour générer une description détaillée du problème qui inclut un exemple d’implémentation du middleware de validation.
L’extrait de code suivant montre l’implémentation actuelle de la route createUser, avant que la validation ne soit ajoutée :
// 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 } });
});
Exemple d’invite
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".
Exemple de réponse
Remarque
La réponse suivante est un exemple. Les réponses Discussion avec Copilot ne sont pas déterministes, vous pouvez donc obtenir une réponse différente de celle affichée ici.
Lorsque vous soumettez l'invite, Discussion avec Copilot génère un brouillon de problème basé sur votre description et y inclut un extrait de code. Vous pouvez examiner et modifier le brouillon avant de créer le problème.
## 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.