JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Namespaced (with custom path option) and scoped routes support

Abierto
#257 7 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Ruby
Estrellas
2.3k
Forks
546
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

My API endpoints are defined like that:

namespace :api, path: '' do
  scope ':customer' do
    api_version(module: 'V1', header: { ... }) do # versionist gem
      jsonapi_resources :users
    end
  end
end

This ends up with routes looking like:
/:customer/users/:id
but JR returns self links like:
/api/v1/users/:id

I managed to fixing that by monkey-patching JSONAPI::ResourceSerializer with:

module JSONAPI
  class ResourceSerializer
    def formatted_module_path(source)
      "#{currrent_customer}/"
    end
  end
end

but it's less than ideal. It would be nice to have a proper support for custom routes.

It could be fixed by #159 maybe.

Thanks!

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con JSONAPI::ResourceSerializer y su método formatted_module_path, que el issue identifica como la solución alternativa actual. Revisa las rutas de namespace y scope personalizadas del ejemplo y del issue #159, y verifica que los self links generados coincidan con la ruta /:customer/users/:id definida por el enrutamiento sin hacer monkey-patching.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
rails, ruby
Área
api
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.