Para agregar métodos personalizados hoy, uno probablemente haría
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.
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.
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