В современных веб-проектах, использующих API RESTful, мы часто видим, что AJAX-вызовы, подобные приведенным ниже, помещаются вокруг наших JavaScript файлов.
$.ajax({
type: "POST",
url: myapp.baseUrl + 'Api/Note',
data: ko.mapping.toJSON(note),
contentType: 'application/json',
}).done(function (response) {
// do something
}).fail(function (jqxhr) {
// do something else
});
Я люблю WebAPI, я люблю Нокаут, и мне нравится связывать их вместе. Однако эти AJAX-вызовы довольно подробные и содержат всевозможные детали, которые мне не очень интересны. Поэтому вместо этого я создаю оболочку вокруг этих методов:
myapp.api.saveNote(note)
Однако это по-прежнему требует, чтобы я действительно написал оболочку, содержащую вызов AJAX. Мне было интересно, можете ли вы на самом деле создать эти обертки. По сути, я бы создал клиент JS для моего WebAPI, похожий на то, как Java и .NET могут генерировать клиентов на основе WSDL.
- Это было сделано раньше?
- Существуют ли другие способы связать ASP.NET WebAPI и JavaScript вместе без написания набора шаблонов AJAX?
- Другими словами, существуют ли рамки для создания JS-интерфейсов на основе интерфейсов на стороне сервера, таких как ASP.NET WebAPI?
Я уже посмотрел на amplifyJS, но это лишь частично решает проблему. Я ищу решение, которое фактически создает интерфейс на основе WebAPI-контроллеров в моем решении. Если этого не будет, я начну заниматься себя. У меня уже есть идея для WebAPIClientGenerator
, которая использует отражение для итерации по всем ApiController
.