zoukankan      html  css  js  c++  java
  • RSS Feeds with Spring Boot

    http://nixmash.com/post/rss-feeds-with-spring-boot

    ****************************************

    We added a RSS Subscription to NixMash Spring Posts in like 10 minutes. Okay, probably longer than that but it was really quick.

    Here's our feed XML, the Real Deal in RSS feeds. See it live here.

    The FeedView

    Creating RSS Feeds in Spring is all about its AbstractFeedView classes. There's anAbstractAtomFeedView,AbstractRssFeedViewand other supporting classes.

    In (1) you'll see we're extending Spring'sAbstractRssFeedViewclass. Also notice on the first line we're explicitly naming the Component. This is important as we'll be passing it by name to the Controller. Next we create our Channel Header and populate it withApplicationSettingsfrom an external properties file (2). We retrieve our Post List, stream it, modify it with ourcreateItem(post)method and return our list of Feed Items (3). Slick!

    Spring uses the Rome Subscription Tools v1.5 or higher, so we need to add theRomeToolsdependency inbuild.gradle.

    compile 'com.rometools:rome:1.6.1'

    The Controller

    Now that we've created our SpringRssPostViewall we have to do is add it to our model. Notice we're adding the Bean name, and Spring takes over in parsing and populating the feed from the Component. That's pretty cool.

    Configuring the FeedView Resolver

    You may see other posts that mention the need to configure the RssFeed View Resolver, since we're configuring a view resolver. Something like…

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
    registry.enableContentNegotiation(new RssPostFeedView());
    }

    …in aWebMvcConfigurerclass. This is no longer needed, which is very wonderful.

    The Test

    Here's a quick test to confirm we're delivering media with content typeapplication/rss-xml.

    In Summary

    To sum up, to create an RSS or Atom feed with Spring you

    1. Create a FeedView component that extends a Spring Abstract FeedView superclass
    2. Pass that component by name from your Controller method model to the client

    Source Code Notes for this Post

    All source code discussed in this post can be found in my NixMash Spring GitHub repo and viewed online here.

    Posted 七月 14, 2016 09:33 上午 EDT
     
  • 相关阅读:
    Dialog 对话框的文字与输入框不对齐
    ag-grid动态生成表头及绑定表数据
    ag-grid实时监测复选框变化
    Java-分页工具类
    Java-日期转换工具类
    文件上传与下载
    IDEA的安装与激活
    熟悉IDEA工具的使用
    缓存三大问题的解决办法
    制作一个省份的三级联动菜单
  • 原文地址:https://www.cnblogs.com/zhao1949/p/6931629.html
Copyright © 2011-2022 走看看