Saule — это библиотека JSON API (версия 1.0) для веб-API ASP.Net 2. Установите Saule с помощью NuGet:
Install-Package saule
Чтобы использовать Saule, вам необходимо определить ресурсы, содержащие информацию о вашем домене:
общественный класс PersonResource: ApiResource {public PersonResource() { Attribute («FirstName»); Атрибут("Фамилия"); Атрибут("Возраст"); BelongsTo<CompanyResource>("Работа"); HasMany<PersonResource>("Друзья"); }}общественный класс CompanyResource: ApiResource {public CompanyResource() { Attribute("Name"); Атрибут("КоличествоСотрудников"); }}
Затем вы можете использовать их для сериализации любого класса в Json Api (при условии, что ваш класс имеет свойства с теми же именами, что и в вашей модели):
общественный класс PersonController: ApiController {[HttpGet] [ReturnsResource(typeof(PersonResource))] [Route("people/{id}")] public JohnSmith GetPerson(string id) { return new JohnSmith(); }}
GET http://example.com/people/123{ "data": { "type": "person", "id": "123", "attributes": { "first-name": "John", " фамилия": "Смит", "возраст": 34 }, "relationships": { "job": { "links": { "self": "http://example.com/people/123/relationships/job/", "relations": "http://example .com/people/123/job/" }, "data": { "type": "company", "id": "456" } }, "друзья": { "ссылки": { "я": "http://example.com/people/123/relationships/friends/", "связанные": "http://example.com/people/ 123/друзья/" }, "данные": [ { "type": "человек", "id": "789" } ] } } }, "включено": [ { "type": "company", "id": "456", "attributes": { "name": "Awesome, Inc.", "количество сотрудников": 24 } }, { "тип": "человек", "id": "789", "атрибуты": { "имя": "Сара", "фамилия": "Джонс", "возраст": 38 } } ], "links": { "self": "http://example.com/people/123" } }
Десериализация работает так же, как и в обычном веб-API; вам не нужно делать ничего особенного, чтобы это заработало.
Чтобы создать новый выпуск, выполните следующие действия:
Создайте ветку под названием release-v<version>
(например, release-v1.5
).
Увеличьте номер версии в appveyor.yml
в master
Отправьте оба изменения и дождитесь сборки
Скопируйте примечания к выпуску в описание выпуска на Github.
Опубликовать новый выпуск