JavaRush /Kurslar /All lectures for UZ purposes /RSS va Atom Veb-kanallari

RSS va Atom Veb-kanallari

All lectures for UZ purposes
Daraja, Dars
Mavjud

Va AbstractAtomFeedView klassi hamda AbstractRssFeedView klassi AbstractFeedView bazaviy klassidan meros bo'lib keladi va Atom hamda RSS veb-kanallarining taqdimotini yetkazish uchun ishlatiladi. Ular ROME loyihasiga asoslangan va org.springframework.web.servlet.view.feed paketida joylashgan.

AbstractAtomFeedView sizdan buildFeedEntries() metodini amalga oshirishni talab qiladi va ixtiyoriy ravishda buildFeedMetadata() metodini qayta yoza olasiz (default realizatsiyasi bo'sh). Quyidagi misolda buni qanday qilish ko'rsatilgan:

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> {
        /// реализация опущена
    }
}

Xuddi shunday talablar AbstractRssFeedView realizatsiyasi uchun ham qo'llaniladi, quyidagi misolda ko'rsatilgandek:

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() va buildFeedEntries() metodlari HTTP so'rovni uzatadi, agar regional sozlamalarga kirish kerak bo'lsa. HTTP javobi faqat cookies yoki boshqa HTTP sarlavhalarini o'rnatish uchun uzatiladi. Kanal avtomatik ravishda metod qaytganidan keyin javob ob'ektiga yoziladi.

Atom kanalining taqdimotini yaratish misoli uchun Spring jamoasi blogidagi Alef Arendsen postini ko'ring.

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