Web API 路由对 2 个不同的调用给出相同的响应
Web API routing give same response on 2 differend calls
我使用 Express 和 Node.JS 制作了简单的路由器
(Github 回购代码:https://github.com/michalwitek1232/back)
我有 2 条单独的路线,一条用于 'recipes',另一条用于 'przepisy'。
我的路由器脚本:
const Recipe = require("../models/recipe.model.js");
const Przepis = require("../models/przepis.model.js");
module.exports = app => {
const Recipe = require("../controllers/recipe.controller.js");
const Przepis = require("../controllers/recipe.controller.js");
// Create a new Recipe
app.post("/recipe", Recipe.create);
// Retrieve all Recipe
app.get("/recipes", Recipe.findAll);
// Delete a Recipe with recipeId
app.delete("/recipe/:recipeId", Recipe.delete);
// Create a new Recipe
app.delete("/recipe", Recipe.deleteAll);
// * przepisy ale po polsku bo angielski leży ;P
//dodawanie przepisu
app.post("/przepis", Przepis.create);
//pobieranie przepisów
app.get("/przepisy", Przepis.findAll);
//pobieranie po id
/*
TODO: dodać
app.get("/przepis/przepisId", Przepis.findOne);
*/
//edycja po id
/*
TODO: dodać
app.put("/przepis/:przepisId", Przepis.update);*/
//Usuwanie przepisu po Id
app.delete("/przepis/:przepisId", Przepis.delete);
//usuwanie wszystkich
app.delete("/przepis", Przepis.deleteAll);
};
但是当我在 Postman 中调用 localhost:3000/przepisy
时,它返回与 localhost:3000/recipes
相同的响应,这很奇怪,因为有 2 个单独的查询:
食谱:
SELECT * FROM recipies
奖品:
SELECT * FROM przepisy
您为两个表定义了同一个控制器。
const Recipe = require("../controllers/recipe.controller.js");
const Przepis = require("../controllers/recipe.controller.js");
当您调用 findAll 时,它会调用“../controllers/recipe.controller.js”控制器中的第一个定义函数,并且它正在使用 Recipe 模型。这就是为什么你得到了相同的回应。
As a solution create a separate controller for the models.
我使用 Express 和 Node.JS 制作了简单的路由器 (Github 回购代码:https://github.com/michalwitek1232/back)
我有 2 条单独的路线,一条用于 'recipes',另一条用于 'przepisy'。
我的路由器脚本:
const Recipe = require("../models/recipe.model.js");
const Przepis = require("../models/przepis.model.js");
module.exports = app => {
const Recipe = require("../controllers/recipe.controller.js");
const Przepis = require("../controllers/recipe.controller.js");
// Create a new Recipe
app.post("/recipe", Recipe.create);
// Retrieve all Recipe
app.get("/recipes", Recipe.findAll);
// Delete a Recipe with recipeId
app.delete("/recipe/:recipeId", Recipe.delete);
// Create a new Recipe
app.delete("/recipe", Recipe.deleteAll);
// * przepisy ale po polsku bo angielski leży ;P
//dodawanie przepisu
app.post("/przepis", Przepis.create);
//pobieranie przepisów
app.get("/przepisy", Przepis.findAll);
//pobieranie po id
/*
TODO: dodać
app.get("/przepis/przepisId", Przepis.findOne);
*/
//edycja po id
/*
TODO: dodać
app.put("/przepis/:przepisId", Przepis.update);*/
//Usuwanie przepisu po Id
app.delete("/przepis/:przepisId", Przepis.delete);
//usuwanie wszystkich
app.delete("/przepis", Przepis.deleteAll);
};
但是当我在 Postman 中调用 localhost:3000/przepisy
时,它返回与 localhost:3000/recipes
相同的响应,这很奇怪,因为有 2 个单独的查询:
食谱:
SELECT * FROM recipies
奖品:
SELECT * FROM przepisy
您为两个表定义了同一个控制器。
const Recipe = require("../controllers/recipe.controller.js"); const Przepis = require("../controllers/recipe.controller.js");
当您调用 findAll 时,它会调用“../controllers/recipe.controller.js”控制器中的第一个定义函数,并且它正在使用 Recipe 模型。这就是为什么你得到了相同的回应。
As a solution create a separate controller for the models.