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.
Опубликовать новый выпуск