¿Por qué obtengo el estado 400 usando https.request. si uso https.get, no tengo problemas, ¡pero también quiero poder enviar solicitudes de publicación (sin depender de fetch o axios)!
Aquí está mi código
const options = { hostname: 127.0.0.1, path: api/hubert, method: 'POST', port: 3000, // headers: { // 'Content-Type': 'application/json' // }, }; const testMethod = (options) => new Promise((resolve, reject) => { req = http.request(options, (res) => { const chunks = [] res.on('data', chunk => chunks.push(chunk)) res.on('error', reject) res.on('end', () => { const { statusCode, headers } = res; const body = chunks.join('') console.log("resolving") resolve({ statusCode, headers, body }) }) }) console.log("request") console.log(req.headers) req.end() })Código del conductor:
testMethod(options).then(response => { console.log("response!") console.log(response)cuyos rendimientos:
{ statusCode: 400, headers: { connection: 'close' }, body: '' }la API es solo una API básica de nextjs (ver más abajo) El contenido de api/hubert.js ubicado es basura. Solo quiero que reconozca mi solicitud de publicación y el registro de la consola John Doe; entonces sé que estoy construyendo mi solicitud correctamente en Node.
export default function handler(req, res) { if (req.method === 'POST') { console.log(req) res.status(200).json({ name: 'John Doe' }) } else { console.log(req); res.status(200).json({error: 'Method not allowed' }) } }Necesitaba una barra inclinada antes del camino
const options = { hostname: 127.0.0.1, path: '/api/hubert', method: 'POST', port: 3000, // headers: { // 'Content-Type': 'application/json' // }, };