Constante "application / json" en .NET framework


82

Acabo de declarar una constante para el tipo de contenido "application / json" en una de mis clases.

public const string JsonContentType = "application/json";

No estoy seguro de que sea una buena práctica.

¿Tiene .NET framework una constante predefinida para "application / json"?



Respuestas:


58

Si bien hay algunas constantes MIME definidas en MediaTypeNames (ver aquí ), no hay una constante para "application / json".

Poner tipos de contenido adicionales en una constante compartida es probablemente la mejor práctica, mejor que definirlos en cadenas literales un millón de veces a lo largo de su código al menos.

Además, le brinda la flexibilidad de usar tipos MIME nuevos / personalizados, que una versión específica de .NET podría no tener.


Me alegro de que hayas mencionado la definición de una mejor práctica de constante pública. Esa es la forma #cleanCode de hacerlo en lugar de ensuciar su código aquí y allá.
RBT

La conclusión implícita de que "habilita" tipos MIME nuevos / personalizados no se cumple, ya que tener una constante de cadena definida no excluye que se acepten adiciones al conjunto abierto (todas las cadenas posibles). Dado que JSON / XML / HTML son tan omnipresentes en Internet, sería útil tener estos ensamblados .NET Net / Web estándar (en uno de los varios). Me pregunto si .NET Core cambia esta respuesta.
user2864740

Arg, o, con la respuesta relacionada ... si solo se agregó "application / json" ..
user2864740

40
.NET Core 2.1.0 tiene MediaTypeNames.Application.Jsondefinido :) Consulte github.com/dotnet/corefx/pull/26701 .
Bob Van de Vijver

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.