Comments 20
Чем не устроило встроенное решение ApiExplorer?
0
Оно как раз и используется для получения метаданных.
0
Как то у вас слишком все переусложнено, по сравнению с
View можно скастомизировать по вкусу.
public ActionResult Index()
{
var apiExplorer = GlobalConfiguration.Configuration.Services.GetApiExplorer();
return View(new ApiDocumentationModel(apiExplorer));
}
View можно скастомизировать по вкусу.
+2
Мне кажется, или вы завелосипедили Web API help page?
0
Ну в WebAPI очень даже можно сделать свой фронтэнд — там весь UI в обычных разоровских вьюшках, меняй не хочу.
js-клиент, это, безусловно, плюс, надо будет посмотреть детальнее. В посте про это мельком. Детали реализации это хорошо, но собственно на функционале и отличиях от встроенного механизма акцента не хватает, мне кажется.
js-клиент, это, безусловно, плюс, надо будет посмотреть детальнее. В посте про это мельком. Детали реализации это хорошо, но собственно на функционале и отличиях от встроенного механизма акцента не хватает, мне кажется.
0
UFO just landed and posted this here
Для питона есть Sphinx. Он не только строит документацию, включая в нее API доку из исходников, но и может запускать тесты из docstring'ов. Или просто запускать тесты во время билда, кому как нравиться. Главное, что можно не ограничиваться только API докой, можно писать полноценную документацию. Пример и сорцы. Просто пример, как это может быть чуть более кратко.
0
А почему не использовать WSDL 2.0? Или XML настолько немодный?
0
Есть ли Reflection для JS? Объясню, откуда этот вопрос: для PHP я написал я помощью Reflection генератор WSDLей, которые кушает 1ска, причем ты ему скармливаешь имена функций, а дальше он через этот самый Reflection все зависимые классы разворачивает через Reflection и phpdoc. Хотелось бы реализовать что-то подобное для node.js.
0
Не совсем понял вопрос, но скорее всего вам подойдёт вот это — github.com/mashery/iodocs
0
тут, опять же, надо самому делать описание. Задача же — сгенерить описание по коду, желательно на лету. Например:
и на выходе получаем fragster.ru/perfomanceTest/ws.php?wsdl
$ws = new WS1c('http://fragster.ru/multithread', 'fragster');
$ws->methods[] = new ReflectionFunction('resultsExchange');
$ws->methods[] = new ReflectionFunction('newResults');
$ws->methods[] = new ReflectionFunction('appendTestResult');
$ws->methods[] = new ReflectionFunction('test');
header("Content-Type: text/xml;");
if (isset($_REQUEST['wsdl'])) {
echo $ws->getWSDL();
} else {
echo $ws->handleRequest($xml);
}
и на выходе получаем fragster.ru/perfomanceTest/ws.php?wsdl
0
Это все круто, но сам классический REST плох тем, что смешивает транспортный уровень (HTTP) и прикладной уровень (собственно ваше API, основанное на обмене объектами). Т.е. например если вы потом захотите завернуть ваше REST API в ВебСокеты, то это будет не слишком легко.
0
Промахнулся по ссылке «ответить», просьба игнориривать.
0
Sign up to leave a comment.
Как я перестал волноваться и стал отдавать метаданные restful API