NuxtJS、ExpressJS - 如何正确连接到端点?
NuxtJS, ExpressJS - how to connect to endpoint correctly?
我正在尝试连接到端点,我有“POST http://localhost:3000/api/post 404(未找到)”
连接中间件post路由到./api/index.js:
app.use('/post', postRoutes)
export default {
path: '/api',
handler: app
}
post路由器文件./api/routes/post.routes.js:
const { Router } = require('express')
const ctr = require('../controllers/post.controller')
const router = Router()
router.post('/api/post', ctr.create)
module.exports = router
vue 页面:
const formData = {
title: this.form.title,
text: this.form.text
}
try {
await this.$store.dispatch('post/create', formData)
} catch (e) {}
所以我向商店提出 post 请求。/store/post.js:
export const actions = {
async create({ commit }, formData) {
try {
return await this.$axios.$post('/api/post', formData)
} catch (e) {
commit('setError', e, { root: true })
throw e
}
}
}
如果你在 axios 中写下你的完整路径,它会起作用。您还可以在状态中为基础 url 创建字段并在操作中使用它。
return await this.$axios.$post('http://localhost:3000/api/post', formData)
在 /api/post/api/post
:
上观察到中间件之前,我通过编辑 router.post
解决了这个问题
router.post('/', ctr.create)
我的请求也是这样的:
return await this.$axios.$post('/api/post', formData)
我正在尝试连接到端点,我有“POST http://localhost:3000/api/post 404(未找到)”
连接中间件post路由到./api/index.js:
app.use('/post', postRoutes)
export default {
path: '/api',
handler: app
}
post路由器文件./api/routes/post.routes.js:
const { Router } = require('express')
const ctr = require('../controllers/post.controller')
const router = Router()
router.post('/api/post', ctr.create)
module.exports = router
vue 页面:
const formData = {
title: this.form.title,
text: this.form.text
}
try {
await this.$store.dispatch('post/create', formData)
} catch (e) {}
所以我向商店提出 post 请求。/store/post.js:
export const actions = {
async create({ commit }, formData) {
try {
return await this.$axios.$post('/api/post', formData)
} catch (e) {
commit('setError', e, { root: true })
throw e
}
}
}
如果你在 axios 中写下你的完整路径,它会起作用。您还可以在状态中为基础 url 创建字段并在操作中使用它。
return await this.$axios.$post('http://localhost:3000/api/post', formData)
在 /api/post/api/post
:
router.post
解决了这个问题
router.post('/', ctr.create)
我的请求也是这样的:
return await this.$axios.$post('/api/post', formData)