我如何设计两个不同的REST API,一个服务于列表,另一个提供详细信息?

时间:2017-08-17 05:23:36

标签: node.js rest

我遇到了一种情况,我需要设计REST API,以解决我的CAR公司的两个目的。

1) Get the list of Cars.
2) Get the car Details. 

所以,我决定这样做。

 1) GET   /api/engine1/cars  => Provies the list of cars.
 2) GET   /api/engine1/cars/detail (i would send the car number in the payload ). 

请告诉我这是否是正确的做法?

2 个答案:

答案 0 :(得分:3)

你的问题的答案是某种基于意见的,没有一个正确的答案 但是有一些建议和记录的解决方案对其他人有利。

例如,查看JSON API Specification

答案 1 :(得分:0)

这可以做到。以下是使用ExpressJS的示例:

const app = express();
app.use(parser.json());
app.use('/api/engine1/cars', <car>.router);

在汽车路由器文件中你可以这样写:

router.route('/')
.get((req, res)=>{

res.json(<get the details for all cars here>);
});


router.route('/detail')
.get((req, res)=>{
const carPayload = req.body.payLoad;
res.json(<query  details for all car based on payload number here>);
});