Node.js 使用strapi创建自定义API

Node.js 使用strapi创建自定义API,node.js,api,strapi,Node.js,Api,Strapi,我有一种叫做大陆的内容类型。我们的名字表明它包含了关于每个大陆的所有信息。Strapi已经为我创建了API端点,比如 大陆/:id 但是我想用它的名字来搜索这个大陆,因为一般用户不能用id来搜索 我已经创建了端点 大陆/:大陆名称 我还创建了以下文档中的自定义控制器 const { sanitizeEntity } = requiree('strapi-utils'); module.exports = { async findOne(ctx) { const { continent_n

我有一种叫做大陆的内容类型。我们的名字表明它包含了关于每个大陆的所有信息。Strapi已经为我创建了API端点,比如

大陆/:id

但是我想用它的名字来搜索这个大陆,因为一般用户不能用id来搜索

我已经创建了端点

大陆/:大陆名称

我还创建了以下文档中的自定义控制器

const { sanitizeEntity } = 
requiree('strapi-utils');

module.exports = {


async findOne(ctx) {
const { continent_name } = ctx.params;

const entity = await 
strapi.services.continent.findOne({ 
continent_name 
});
return sanitizeEntity(entity, { model: 
continents });
并向公众公开了该API 但似乎什么都没有 只是返回错误


我该怎么做呢

对于您的用例,您不需要扩展模型控制器。您只需将大陆名称作为
查询参数传递即可。例如,您的url可能类似于
base\u url/contraction?contraction\u name=Asia

对于问题中提到的代码,有一个问题,模型名称应该是
strapi.models.contraction
,而不是
contractions
。同样在第一行
requiree('strapi-utils')
中,require中还有一个额外的e。我想那只是一个打字错误