Afficher le flux RSS avec Spring MVC
1. introduction
Ce tutoriel rapide montrera comment créer un flux RSS simple à l'aide de Spring MVC et de la classeAbstractRssFeedView.
Ensuite, nous mettrons également en œuvre une API REST simple - pour exposer notre alimentation sur le fil.
2. Flux RSS
Avant d'entrer dans les détails de la mise en œuvre, examinons rapidement ce qu'est le RSS et son fonctionnement.
Le flux RSS est un type de flux Web qui permet facilement à un utilisateur de suivre les mises à jour d'un site Web. De plus,RSS feeds are based on an XML file which summarizes the content of a site. Un agrégateur de news peut alors s'abonner à un ou plusieurs flux et afficher les mises à jour en vérifiant régulièrement si le XML a changé.
3. Les dépendances
Tout d'abord, puisqueSpring’s RSS support is based on the ROME framework,we’ll need to add it as a dependency à notrepom avant de pouvoir l'utiliser:
com.rometools
rome
1.10.0
Pour un guide de Rome, jetez un œil à nosprevious article.
4. Mise en œuvre de l'alimentation
Ensuite, nous allons créer le flux réel. Pour ce faire,we’ll extend the AbstractRssFeedView class and implement two of its methods.
Le premier recevra un objetChannel en entrée et le remplira avec les métadonnées du flux.
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. Exposer le flux
Enfin, nous allons créer un service REST simple pourmake our feed available on the web. Le service retournera l'objet vue que nous venons de créer:
@RestController
public class RssFeedController {
@Autowired
private RssFeedView view;
@GetMapping("/rss")
public View getFeed() {
return view;
}
}
De plus, comme nous utilisons Spring Boot pour démarrer notre application, nous allons implémenter une classe de lanceur simple:
@SpringBootApplication
public class RssFeedApplication {
public static void main(final String[] args) {
SpringApplication.run(RssFeedApplication.class, args);
}
}
Après avoir exécuté notre application, lors de l'exécution d'une demande à notre service, nous verrons le flux RSS suivant:
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. Conclusion
Cet article explique comment créer un simple flux RSS avec Spring et ROME et le rendre disponible pour les consommateurs à l'aide d'un service Web.
Dans notre exemple, nous avons utilisé Spring Boot pour démarrer notre application. Pour plus de détails sur ce sujet,continue reading this introductory article on Spring Boot.
Comme toujours, tout le code utilisé est disponibleover on GitHub.