Saule es una biblioteca JSON API (versión 1.0) para ASP.Net Web API 2. Instale Saule usando NuGet:
Install-Package saule
Para utilizar Saule, debes definir recursos que contengan la información sobre tu dominio:
clase pública PersonResource: ApiResource{ public PersonResource() { Atributo("Nombre"); Atributo("Apellido"); Atributo("Edad"); Pertenece a<CompanyResource>("Trabajo"); HasMany<PersonResource>("Amigos"); }}clase pública CompanyResource: ApiResource{ public CompanyResource() { Atributo("Nombre"); Atributo("NúmeroDeEmpleados"); }}
Luego puede usarlos para serializar cualquier clase en Json Api (siempre que su clase tenga propiedades con los mismos nombres que en su modelo):
clase pública PersonController: ApiController{ [HttpGet] [ReturnsResource(typeof(PersonResource))] [Ruta("people/{id}")] public JohnSmith GetPerson(string id) { return new JohnSmith(); }}
OBTENER http://example.com/people/123{ "datos": { "tipo": "persona", "id": "123", "atributos": { "nombre": "John", " apellido": "Smith", "edad": 34 }, "relaciones": { "trabajo": { "enlaces": { "self": "http://example.com/people/123/relationships/job/", "relacionado": "http://ejemplo .com/people/123/job/" }, "datos": { "tipo": "empresa", "id": "456" } }, "amigos": { "enlaces": { "self": "http://example.com/people/123/relationships/friends/", "relacionado": "http://example.com/people/ 123/amigos/" }, "datos": [ { "tipo": "persona", "id": "789" } ] } } }, "incluido": [ { "tipo": "empresa", "id": "456", "atributos": { "nombre": "Awesome, Inc.", "número-de-empleados": 24 } }, { "tipo": "persona", "id": "789", "atributos": { "nombre": "Sara", "apellido": "Jones", "edad": 38 } } ], "enlaces": { "self": "http://example.com/people/123" } }
La deserialización funciona igual que en una API web normal; No es necesario hacer nada especial para que esto funcione.
Siga los pasos a continuación para crear una nueva versión:
Cree una rama llamada release-v<version>
(por ejemplo, release-v1.5
)
Aumente el número de versión en appveyor.yml
en master
Empuje ambos cambios y espere la compilación.
Copie las notas de la versión en la descripción de la versión en Github
Publicar la nueva versión