Я интегрирую серверный API в приложение Next.js 15 (App Router).
Бэкэнд API работает правильно в Postman, но когда я пытаюсь вызвать его непосредственно из браузера, происходит сбой из-за ошибки CORS (нет Access-Control-Allow-Origin).
Чтобы обойти эту проблему, я создал маршрут API Next.js для проксирования запроса:
Однако при вызове маршрута API Next.js я получаю ошибку 405 Method Not Allowed.
Код: Выделить всё
Backend API
POST /api/verify/
Works in Postman.
Next.js API Route
File location:
app/api/verify/route.ts
import { NextResponse } from 'next/server'
const BACKEND_URL = 'https://example-backend.com'
export async function POST(req: Request) {
try {
const body = await req.json()
const response = await fetch(`${BACKEND_URL}/api/verify/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
},
body: JSON.stringify(body),
})
const data = await response.json()
return NextResponse.json(data, { status: response.status })
} catch (error) {
return NextResponse.json(
{ message: 'Internal server error' },
{ status: 500 }
)
}
}
Frontend Call
await axios.post('/api/verify/', {
phone_number: phone.trim(),
})
Error
Network tab shows:
Request URL: http://localhost:3000/api/verify
Request Method: POST
Status Code: 405 Method Not Allowed
Response body:
{"detail":"Method \"GET\" not allowed."}
Подробнее здесь: https://stackoverflow.com/questions/798 ... to-avoid-c
Мобильная версия