javascript-如何在sailsjs中实现自定义路线
作者:互联网
我正在尝试了解sails.js.首先,我尝试生成新的API.
这是我的模型和控制器代码
Coutries.js
module.exports = {
attributes: {
title:{
type:'string',
unique:true,
primaryKey:true
},
cities:{
collection:'Cities',
via:'country'
}
}
};
城市,js
module.exports = {
attributes: {
title: {
type:'string',
unique:true,
primaryKey:true
},
country:{
model:'Countries',
type:'String'
},
description: {
type:'string'
}
}
};
接下来是我写的routes.js
'get /countries':'CountriesController.getAllCountries'
我需要国家名单.
我不明白如何在CountrysController.js中实现功能getAllCountries.
我在tmp目录中使用本地数据库.
拜托,有人能详细了解我该怎么做吗?
另外为了理解,请告诉我如何实现addNewCountries函数,例如updateCitiesDescription.
谢谢,对不起,我的英语)
解决方法:
好吧,如果您的目标只是查看国家/地区列表,那么Sails可以满足您的需求.它提供了蓝图API,您可以将其直接用于查询数据库并以JSON形式查看响应.
例如,您可以致电
http://localhost:1337/countries
查看数据库中的所有国家.同样,您也可以直接使用API进行其他查询.查找有关它的更多信息here
但是,如果您仍然想自己查询数据库以了解它的功能,那么到目前为止,您所进行的工作是正确的.
在您的CountrysController中,创建一个名为“ getAllCountries”的新操作
getAllCountries: function(req, res) {
Countries.find().exec(function(err, countries){
res.json(countries);
});
});
您的路线基本上会尝试在控制器“ CountriesController”中找到一个名为“ getAllCountries”的方法,并将您的请求重定向到该操作.
接到电话后,您只需使用水线query language从数据库中获取国家/地区列表,然后将JSON返回给用户.
一个友好的建议,避免将您的模型命名为复数形式.例如,如果您要维护数据库中的国家和城市,则将模型命名为“国家”和“城市”.
标签:sails-js,javascript 来源: https://codeday.me/bug/20191120/2040394.html