Решил я свой телефон поменять, ибо мой SonyEricsson K750i уже морально и физически устарел. К новому телефону предъявил следующие требования:
Он должен быть Труъ Телефономъ, т.е. быть классической формы и не быть тачскриномОн дожен уметь совершать голосовые звонки в Skype и в других SIP клиентах через Wi-FiВ идеале он должен держать заряд подольшеЖелательно наличие QWERTY клавиатуры
На текущий момент под такие требования подошло всего несколько телефонов стоимостью до 7к рублей. Очень заинтересовали 2 из них, BlackBerry Curve 8520
и Nokia E5; но как выяснилось, Блекбери не подойдет. Дело в том, что по непонятным причинам на российский рынок поставляют эти модели с залоченым вайфаем. В принцепе эта проблема решаема, в сервисном центре недолго думая смогут его включить, однако нести только что купленый телефон в сервисный центр - моветон.
Так что мой выбор пал на Nokia E5, и я его купил. Но первое впечатление оказалось отвратительным. Версия софта на телефоне была древней, жутко...
В этой записи блога мы близко рассмотрим ApiExplorer, являющийся реализацией IApiExplorer по умолчанию и увидим как с помощью него можно быстро сгенерировать веб-документацию по доступному REST API. В этой документации будет содержаться разнообразная информация, например, правильные URL, допустимые HTTP-методы, ожидаемые для запросов параметры. Такого рода информация для вашего REST-сервиса позволит сторонним разработчикам, потребляющим ваш API, точно знать как правильно вызывать его части. Наверное, самое приятное в такой странице веб-документации состоит в том, что она будет обновляться автоматически вместе с обновлением вашего REST API.
ApiExplorer
Основной целью этого класса является генерирование коллекции элементов ApiDescription. Это производится с помощью статической проверки маршрутов и доступных действий внутри ваших контроллеров. Каждый элемент ApiDescription описывает API доступный через ваш сервис. Как вы можете видеть на упрощенной диаграмме (рисунок 1) ApiDescription содержит базовую информацию такую как, HttpMethod, RelativePath, Documentation и т.д. Но кроме того, он содержит элемент ApiDescriptor, который является частью ядра WebAPI знающей все о соответствующем действии. Вы можете использовать этот элемент для получения доступа к обширной информации, такой как имя действия, возвращаемый тип, пользовательские атрибуты и т.д. Точно так же вы можете использовать элемент ParameterDescriptor для изучения ожидаемых параметров данного API.
Читать дальше →