¿Tiene sentido utilizar anclajes internos para filtrar una representación API REST?

StackOverflow https://stackoverflow.com/questions/2551262

  •  23-09-2019
  •  | 
  •  

Pregunta

Como continuación a mi anterior pregunta sobre el descanso URI para recuperar información estadística para un recurso foro de la web, que quieren saber si es posible utilizar los anclajes internos como pistas de filtro. Consulte el siguiente ejemplo:

a) Obtener todas las estadísticas:

GET /group/5t7yu8i9io0op/stat
{ 
    group_id: "5t7yu8i9io0op",
    top_ranking_users: {
      [ { user: "george", posts: 789, rank: 1 }, 
        { user: "joel", posts: 560, rank: 2 }  ...]
      },
    popular_topics: {
      [ ... ]
    },
    new_topics: {
      [ ... ]
    }
}

b) obtener sólo los temas populares

GET /group/5t7yu8i9io0op/stat#popular_topics
{ 
    group_id: "5t7yu8i9io0op",
    popular_topics: {
      [ ... ]
    }
}

c) obtener sólo los mejores usuarios de clasificación

GET /group/5t7yu8i9io0op/stat#top_ranking_users
{ 
    group_id: "5t7yu8i9io0op",
    top_ranking_users: {
      [ { user: "george", posts: 789, rank: 1 }, 
        { user: "joel", posts: 560, rank: 2 }  ...]
    }
}

O debería estar utilizando los parámetros de consulta?

¿Fue útil?

Solución

No está seguro de lo que está tratando de hacer exactamente, pero asegúrese de que entiende que los identificadores de fragmentos no son vistos por el servidor, que están cortadas por el conector de cliente.

Ver: http://www.nordsc.com/blog/?p=17

Otros consejos

nunca he visto anclajes se utiliza de esa manera - es interesante. Una vez dicho esto, me gustaría sugerir el uso de parámetros de consulta por un par de razones:

  1. Son estándar - y los consumidores de su API se sentirán cómodos con ellos. No hay nada más molesto que tratar con un API peculiar.

  2. Muchos marcos se auto-analizar los parámetros de consulta y las colocó en un diccionario en el objeto de la petición (o lo que sea análogo existe en la biblioteca de servidor de marco / http).

Creo que tendría más sentido tener:

/group/5t7yu8i9io0op/stat/top_users
/group/5t7yu8i9io0op/stat/popular_topics
/group/5t7yu8i9io0op/stat/new_topics
/group/5t7yu8i9io0op/stat/user/george

No se puede hacer eso, porque como Jan puntos sobre el servidor nunca verán que el identificador de fragmento. Literalmente, esa parte de la url no llegará al servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top