使用feathersjs创建自定义服务/路线

时间:2017-07-22 20:40:20

标签: feathersjs

我过去2天一直在阅读文档。我是feathersjs的新手。

第一期 :无法访问与feathersjs相关的任何链接。例如this

发出以下错误:

  

此页面无效

     

legacy.docs.feathersjs.com重定向了你太多次了。

因此我无法追溯到类似类型或任何类型的先前询问的线程。

第二期 :这是一个从实时应用程序入手的优秀框架。但并非所有实时应用程序都只需要单独的数据库访问,它们可能需要访问Amazon S3,Microsoft Azure等等。在我的情况下,它们是相同的并且它是相同的。更像是设置路线的问题。

我已执行以下命令:

feathers generate app

feathers generate service服务名称:上传,REST,数据库:猫鼬)

feathers generate authentication用户名和密码

我已准备就绪,但如何添加其他自定义服务?

服务的粒度以下列方式启动(仅用于上传的用例):

传统的做法>> router.post('/upload', (req, res, next) =>{});

假设,我发送了file使用数据表单,并在请求中发送了一些额外的参数{ storage: "s3"}

邮递员 - > POST(仅)到/upload --->处理请求(isStorageExistsInRequest?) - >然后分别执行实际上传到Req中的特定存储,并在本地数据库中记录详细信息 - >发送回复(Success or Failure

堆栈溢出的

Another thread,您已回答:

app.use('/Category/ExclusiveContents/:categoryId', {
  create(data, params) {
  // do complex stuff here
  params.categoryId // the id of the category
  data // -> additional data from the POST request
 }
});

解决方案也可以通过这种方式查看,因为featherjs支持微服务方法,拥有如下子路径会很棒:

/upload_s3 - 上传到s3

/upload_azure - 上传到azure等等。

/upload - 向用户公开的主要路线。用户请求,处理请求,调用相应的子路由。 (还包括身份验证和身份验证)

如何使用现有的feathersjs设置解决这些类型的问题?

1 个答案:

答案 0 :(得分:0)

1)这是一个部署问题,Netlify正在研究它。但是,当前文档不在遗留域中,您可以在docs.feathersjs.com/api/databases/querying.html找到所需内容。

2)可以通过运行feathers generate service并选择自定义服务选项来添加自定义服务。然后,可以根据service interfacesrc/services/<service-name>/<service-name>.class.js中实施该功能。对于文件上传,可以在feathers-blob中找到有关如何自定义file uploading guide的参数(在this issue中使用)的示例。