JavaRush /Kurslar /All lectures for TK purposes /Web-kanallar RSS we Atom

Web-kanallar RSS we Atom

All lectures for TK purposes
Dereje , Sapak
Elýeterli

AbstractAtomFeedView we AbstractRssFeedView klasslary AbstractFeedView esasy klassdan miras alýarlar we degişlilikde Atom we RSS web-kanalllarynyň görünüşlerini geçirmek üçin ulanylýar. Olar ROME taslamasyna esaslanýar we org.springframework.web.servlet.view.feed paketinde ýerleşýär.

AbstractAtomFeedView sizden buildFeedEntries() metodyny durmuşa geçirmegi talap edýär we islege baglylykda buildFeedMetadata() metodyny gaýtadan kesgitlemegi (standart amal boş). Aşakdaky mysalda muny nädip ýerine ýetirmelidigi görkezilýär:

Java
public class SampleContentAtomView extends AbstractAtomFeedView {
    @Override
    protected void buildFeedMetadata(Map<String, Object> model,
            Feed feed, HttpServletRequest request) {
        /// реализация опущена
    }
    @Override
    protected List<Entry> buildFeedEntries(Map<String, Object> model,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        /// реализация опущена
    }
}
Kotlin
class SampleContentAtomView : AbstractAtomFeedView() {
    override fun buildFeedMetadata(model: Map<String, Any>,
            feed: Feed, request: HttpServletRequest) {
        /// реализация опущена
    }
    override fun buildFeedEntries(model: Map<String, Any>,
            request: HttpServletRequest, response: HttpServletResponse): List<Entry> {
        /// реализация опущена
    }
}

AbstractRssFeedView durmuşa geçirişi üçin hem şuňa meňzeş talaplar ulanylýar, aşakdaky mysalda görkezilişi ýaly:

Java
public class SampleContentRssView extends AbstractRssFeedView {
    @Override
    protected void buildFeedMetadata(Map<String, Object> model,
            Channel feed, HttpServletRequest request) {
        /// реализация опущена
    }
    @Override
    protected List<Item> buildFeedItems(Map<String, Object> model,
            HttpServletRequest request, HttpServletResponse response) throws Exception {
        /// реализация опущена
    }
}
Kotlin
class SampleContentRssView : AbstractRssFeedView() {
    override fun buildFeedMetadata(model: Map<String, Any>,
                                feed: Channel, request: HttpServletRequest) {
        /// реализация опущена
    }
    override fun buildFeedItems(model: Map<String, Any>,
            request: HttpServletRequest, response: HttpServletResponse): List<Item> {
        /// реализация опущена
    }
}

buildFeedItems() we buildFeedEntries() metodlary HTTP soragyny geçirýär, ýerli sazlamalara elýeterlilik zerur bolsa. HTTP jogap diňe cookies ýa-da beýleki HTTP-başlyklar üçin ulanylýar. Kanal metod gaýdyp geleninden soň awtomatiki ýagdaýda jogap obýektiň içine ýazylýar.

Atom kanal prezentasiýasyny döretmegiň mysalyny Spring toparynyň blogyndaky posta Alef Arendsen-den görüp bilersiňiz.

Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION