¿Cuál es la forma más sencilla de devolver diferentes tipos de contenido según la extensión en la URL?

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

  •  08-07-2019
  •  | 
  •  

Pregunta

Me gustaría poder cambiar la extensión de una url y recibir el modelo en un formato diferente.

p. si

/products/list

devuelve una página html que contiene una lista de productos, luego

/products/list.json

los devolvería en una lista json.

Nota : Me gusta la simplicidad de ASP.NET MVC REST SDK , solo requiere aproximadamente 5 líneas de código para conectarlo, pero el formato se especifica como un parámetro de cadena de consulta, es decir, < code> / products / list? format = json que no es lo que quiero, podría modificar este código si no hay otras opciones, ¡pero no quiero reinventar la rueda!

¿Fue útil?

Solución

Escribí una publicación de blog que muestra un posible ejemplo. Es un poco complicado, pero podría funcionar para sus necesidades.

http: // haacked .com / archive / 2009/01/06 / manejo-formatos-basados-en-url-extension.aspx

Otros consejos

Debería poder usar rutas junto con el resto sdk

Si tiene la flexibilidad de dejar Apache o algo similar frente a su servicio, siempre puede usar mod_rewrite para reescribir un http: //products/list.json externo en http: // products / list? format = json que su marco puede representar más fácilmente.

En lugar de " list.json " ;, puede elegir " list / json " y usa una ruta como

{controlador} / {action} / {id}

Entonces se llamaría ProductController.List, con un parámetro ID de "json". La acción .List () luego decidiría si se devuelve o no una vista HTML o contenido JSON.

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