Swagger не анализирует вашу реализацию Java.
Если вы хотите добавить больше информации в документацию, вы должны использовать аннотации Swagger:
https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5 .X
В вашем случае что-то вроде:
@ApiResponses(value = {
@ApiResponse(code = 500, message = "Maximum upload size exceeded.")
})
Но вы должны добавить эту аннотацию к вашему RestController. ControllerAdvice не считается чванством.
В случае XUL/Firefox, в чем Вы нуждаетесь, интерфейс nsIIOService, который можно получить как это:
var mIOS = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
Затем необходимо создать канал и открыть асинхронный канал:
var channel = mIOS.newChannel(urlToOpen, 0, null);
channel.asyncOpen(new StreamListener(), channel);
Ключ здесь StreamListener
объект:
var StreamListener = function() {
return {
QueryInterface: function(aIID) {
if (aIID.equals(Components.interfaces.nsIStreamListener) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
onStartRequest: function(aRequest, aContext)
{ return 0; },
onStopRequest: function(aRequest, aChannel /* aContext */, aStatusCode)
{ return 9; },
onDataAvailable: function(aRequest, aContext, aStream, aOffset, aCount)
{ return 0; }
};
}
Необходимо заполнить детали в onStartRequest
, onStopRequest
, onDataAvailable
функции, но этого должно быть достаточно для получения Вас движение. Можно взглянуть на то, как я использовал этот интерфейс в своем расширении Firefox (это называют IdentFavIcon, и это может быть найдено на дополнительном сайте Mozilla).
Часть, в которой я не уверен, - то, как можно время от времени инициировать этот запрос страницы, set_timeout()
должен, вероятно, работать, все же.
Править:
HTH.
От привилегированного JavaScript, т.е. JS в расширении, Вам разрешают создать скрытый iframe
s; загрузка указанной страницы так же проста как установка местоположения на этом кадре.
Если Вы раскрываете простую, статическую страницу, которой Вы владеете, set_timeout
должен быть прекрасным. Но в этом случае, почему бы не использовать XHR?
Если бы Вы раскрываете произвольные страницы, с динамическими элементами или большим количеством содержания, я рекомендовал бы инициировать Ваше царапанье использования страницы Document.onload
обработчики событий вместо этого. Это - более надежный путь, и можно стать умными об очистке страницы в самый ранний момент, но когда Вы знаете, что необходимое содержание там.
Я не думаю, что существует определенное учебное руководство на этом, но Центр разработки Mozilla, который я уверен, что Вы уже нашли, абсолютно превосходно - лучшая техническая документация онлайн, по-моему!
Я не уверен, понял ли я вопрос полностью, но попытаюсь ответить на несколько очевидных альтернативных вопросов:
При поиске статической очистки веб-страницы, BeautifulSoup (Python) является одним из лучших и самых легких.
При поиске изменения на основанной на Ajax странице которая изменяется со временем, необходимо будет продолжать управлять кодом в бесконечном цикле. Но не опрашивайте сайт слишком часто, он обнаружит потребление пропускной способности и может заблокировать Ваш IP, таким образом опросить в некотором интервале.
Если Вы надеетесь очищать представленные тикеры некоторого JavaScript или что-то, которое не может быть сделано, пока страница не представляется, следовательно не возможная с одним только BeautifulSoup. необходимо будет использовать бездисплейный браузер как Лом - Similie (использует XULRunner), который представляет содержание JavaScript на бездисплейном браузере, и вывод этого представленного содержания может использоваться в качестве входа к скребку BeautifulSoup.