RSS-Feed mit Spring MVC anzeigen
1. Einführung
Dieses kurze Tutorial zeigt, wie Sie mit Spring MVC und derAbstractRssFeedView-Klasse einen einfachen RSS-Feed erstellen.
Anschließend implementieren wir auch eine einfache REST-API, um unseren Feed über das Kabel freizulegen.
2. RSS-Feed
Bevor wir auf die Implementierungsdetails eingehen, lassen Sie uns einen kurzen Überblick darüber geben, was RSS ist und wie es funktioniert.
RSS ist eine Art von Webfeed, mit dem ein Benutzer Aktualisierungen von einer Website auf einfache Weise verfolgen kann. Darüber hinaus kannRSS feeds are based on an XML file which summarizes the content of a site. Ein Nachrichtenaggregator kann einen oder mehrere Feeds abonnieren und die Aktualisierungen anzeigen, indem regelmäßig überprüft wird, ob sich das XML geändert hat.
3. Abhängigkeiten
Erstens, daSpring’s RSS support is based on the ROME framework,we’ll need to add it as a dependency zu unserempom gehören, bevor wir es tatsächlich verwenden können:
com.rometools
rome
1.10.0
Einen Leitfaden für Rom finden Sie in unserenprevious article.
4. Feed-Implementierung
Als nächstes werden wir den eigentlichen Feed erstellen. Dazu musswe’ll extend the AbstractRssFeedView class and implement two of its methods.
Der erste erhält einChannel-Objekt als Eingabe und füllt es mit den Metadaten des Feeds.
The other will return a list of items which represents the feed’s content:
@Component
public class RssFeedView extends AbstractRssFeedView {
@Override
protected void buildFeedMetadata(Map model,
Channel feed, HttpServletRequest request) {
feed.setTitle("example RSS Feed");
feed.setDescription("Learn how to program in Java");
feed.setLink("http://www.example.com");
}
@Override
protected List- buildFeedItems(Map
model,
HttpServletRequest request, HttpServletResponse response) {
Item entryOne = new Item();
entryOne.setTitle("JUnit 5 @Test Annotation");
entryOne.setAuthor("[email protected]");
entryOne.setLink("http://www.example.com/junit-5-test-annotation");
entryOne.setPubDate(Date.from(Instant.parse("2017-12-19T00:00:00Z")));
return Arrays.asList(entryOne);
}
}
5. Feed freigeben
Schließlich werden wir einen einfachen REST-Service fürmake our feed available on the web erstellen. Der Service gibt das soeben erstellte Ansichtsobjekt zurück:
@RestController
public class RssFeedController {
@Autowired
private RssFeedView view;
@GetMapping("/rss")
public View getFeed() {
return view;
}
}
Da wir Spring Boot zum Starten unserer Anwendung verwenden, implementieren wir außerdem eine einfache Launcher-Klasse:
@SpringBootApplication
public class RssFeedApplication {
public static void main(final String[] args) {
SpringApplication.run(RssFeedApplication.class, args);
}
}
Nach dem Ausführen unserer Anwendung wird beim Ausführen einer Anfrage an unseren Service der folgende RSS-Feed angezeigt:
example RSS Feed
http://www.example.com
Learn how to program in Java
-
JUnit 5 @Test Annotation
http://www.example.com/junit-5-test-annotation
Tue, 19 Dec 2017 00:00:00 GMT
[email protected]
6. Fazit
In diesem Artikel wurde beschrieben, wie Sie mit Spring und ROME einen einfachen RSS-Feed erstellen und mithilfe eines Webdienstes für die Verbraucher verfügbar machen.
In unserem Beispiel haben wir Spring Boot verwendet, um unsere Anwendung zu starten. Weitere Informationen zu diesem Thema finden Sie untercontinue reading this introductory article on Spring Boot.
Wie immer ist der gesamte verwendete Codeover on GitHub verfügbar.