我试着选择一条特定的路线:
http://127.0.0.1:3333/store/products?productId=4但是服务器给了我这个错误:
"message": "E_ROUTE_NOT_FOUND: Cannot DELETE:/store/products",
"stack": "HttpException: E_ROUTE_NOT_FOUND: Cannot PATCH:/store/products\n 发布于 2021-02-13 15:52:00
route ,你没有按正确的url,你的是错的。
route.js的右url是:
http://127.0.0.1:3333/store/products/4
^- Product idroute:
Route.delete('/products/:productId', 'ProductsController.delete')
// ^- use : for url parameter路由解释
身体数据
请求体(json)
文档:https://preview.adonisjs.com/guides/http/form-submissions#reading-form-data
示例url :
http://127.0.0.1:3333/products?name=hello路由示例:
Route.post('/products', 'MyController.myFunction')控制器:
public async myFunction ({ request }: HttpContextContract) {
const data = request.only(['name'])
// ...
}Url参数
指定动态url参数。
文档:https://preview.adonisjs.com/guides/http/routing#dynamic-urls
示例url :
http://127.0.0.1:3333/products/1路由示例:
Route.post('/products/:id', 'MyController.myFunction')控制器:
public async myFunction ({ params }: HttpContextContract) {
const id = params.id
// ...
}发布于 2021-02-13 17:02:43
除了@crbast提出的要点:您的代码似乎碰到了HTTP修补程序方法(https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH),而不是您期望的HTTP
https://stackoverflow.com/questions/66185935
复制相似问题