1. Next.js не распознает новый файл, потому что он не автоматически обновляет файловую систему при создании новых файлов. Для того чтобы Next.js распознал новый файл, вам потребуется перезапустить сервер.
2. Для организации кода API в Next.js, чтобы сохранять состояние файла между различными запросами POST и GET, вы можете использовать файловую систему Node.js для сохранения данных. Например, вы можете сохранить файл в специальную папку на сервере при каждом запросе POST, а затем читать этот файл при запросе GET.
Примерно код может выглядеть так:
```jsx
import fs from 'fs';
import path from 'path';
const filePath = path.resolve('./data/file.json');
export default async (req, res) => {
if (req.method === 'POST') {
const data = req.body;
fs.writeFileSync(filePath, JSON.stringify(data));
res.status(200).json({ message: 'Data saved' });
} else if (req.method === 'GET') {
try {
const data = fs.readFileSync(filePath, 'utf8');
res.status(200).json(JSON.parse(data));
} catch (error) {
res.status(500).json({ message: 'Error reading file' });
}
}
}
```
Не забудьте создать папку `data` в корне проекта Next.js, куда будут сохраняться файлы.
Код выше сохраняет данные, пришедшие в запросе POST, в файл `file.json`, а затем читает этот файл и отправляет данные в ответе на запрос GET.