Feathers: Solicitud de función: método de servicio genérico

Creado en 1 nov. 2017  ·  4Comentarios  ·  Fuente: feathersjs/feathers

Para agregar métodos personalizados hoy, uno probablemente haría

  1. crear un middleware express y comunicarse directamente a través de http en el cliente, o
  2. (mis?) Use el método de creación.

Por ejemplo, vea la gestión de autenticación , donde usan este patrón:

app.service('authManagement').create({
  type: 'specialMethod',
  data...
})

Anteriormente, los métodos personalizados han sido rechazados #86, según @daffl "por varias buenas razones" . En la respuesta de intercambio de pila, el enlace para la explicación detallada está roto, por lo que es posible que me haya perdido algunos puntos buenos.

De todos modos, si no hay métodos personalizados, creo que hay espacio para un método genérico . Como service.post , eso funciona tanto en REST como en socket.

Comentario más útil

Creé un complemento que le permite agregar métodos personalizados a los servicios: https://www.npmjs.com/package/feathers-custom-methods

Todos 4 comentarios

La entrada de preguntas frecuentes se puede encontrar aquí: https://docs.feathersjs.com/faq/readme.html#how -do-i-create-custom-methods y el comentario del problema vinculado (https://github.com/feathersjs /feathers/issues/488#issuecomment-269687714) tiene más detalles al respecto.

Nunca lo necesité, pero si realmente hay una necesidad de acciones personalizadas, me parece bien implementar un servicio personalizado con un método create . app.service('action').create tiene más sentido para mí que app.service('action').post (¿qué significa post fuera de HTTP?).

Gracias por los enlaces a discusiones anteriores, ¡tienen algunos puntos muy buenos!

Un punto que creo que no se menciona antes es la facilidad de comprensión, para principiantes. Por ejemplo, los ganchos de autenticación create y remove . ¿Qué significa realmente "crear una autenticación"? Eso me confunde como principiante. Leí la guía desde el principio y, sinceramente, olvidé o no entendí bien el impacto de que las plumas sean un marco solo REST.

Nunca lo necesité, pero si realmente hay una necesidad de acciones personalizadas

Supongo que ha necesitado autenticación, por ejemplo, app.authenticate , que veo como una acción personalizada. Está implementado con service.create , así que estoy dividiendo pelos 😅

tiene más sentido para mí que app.service('action').post (¿qué significa publicar fuera de HTTP?).

Publicar fue solo una sugerencia, y me refiero a publicar en el sentido de "publicar algo". Aunque la conexión a HTTP POST puede resultar confusa. action , do y method funcionarán igual de bien.

Según entiendo usted y las discusiones anteriores, esto definitivamente está fuera de los límites, ya que las plumas son estrictamente una arquitectura REST. Así que estoy cerrando. ¡Gracias por responder!

Creé un complemento que le permite agregar métodos personalizados a los servicios: https://www.npmjs.com/package/feathers-custom-methods

Este problema se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema con un enlace a este problema para ver los errores relacionados.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

andysay picture andysay  ·  3Comentarios

perminder-klair picture perminder-klair  ·  3Comentarios

Vincz picture Vincz  ·  4Comentarios

rrubio picture rrubio  ·  4Comentarios

Mattchewone picture Mattchewone  ·  4Comentarios