# Erstellen von Issues

Copilot-Chat kann Ihnen helfen, Probleme schnell zu erstellen, ohne jedes Feld manuell auszufüllen.

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:

```javascript
// 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

> [!NOTE] 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.

```markdown
## 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.
```