Das manuelle Erstellen von Problemen kann zeitaufwändig sein. Copilot Chat ermöglicht es Ihnen, Vorgänge aus natürlicher Sprache zu erstellen und füllt automatisch Titel, Text, Labels und andere Metadaten basierend auf Ihrer Eingabe aus.
Beispielszenario
Sie arbeiten an einem API-Dienst und müssen dem createUser Endpunkt eine serverseitige Überprüfung hinzufügen. Anstatt das Problem manuell zu entwerfen, verwenden Sie Copilot Chat, um eine detaillierte Problembeschreibung zu generieren, die eine Beispielimplementierung der Validierungs-Middleware enthält.
Der folgende Codeausschnitt zeigt die aktuelle Implementierung der createUser Route, bevor die Überprüfung hinzugefügt wird:
// 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 } });
});
Beispiel für Prompt
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".
Beispielantwort
Hinweis
Die folgende Antwort ist ein Beispiel. Da die Copilot Chat-Antworten nicht deterministisch sind, erhältst du möglicherweise eine andere Antwort als die hier beschriebene.
Wenn Sie die Anfrage absenden, generiert Copilot Chat basierend auf Ihrer Beschreibung einen Entwurf für ein Problem und fügt einen Code-Snippet hinzu. Sie können den Entwurf überprüfen und bearbeiten, bevor Sie das Problem erstellen.
## 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.