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