{"id":675,"date":"2017-12-03T15:33:58","date_gmt":"2017-12-03T14:33:58","guid":{"rendered":"http:\/\/www.voldrich.net\/?p=675"},"modified":"2020-03-27T17:00:21","modified_gmt":"2020-03-27T15:00:21","slug":"pagination-with-github-reactor-and-spring-webclient","status":"publish","type":"post","link":"https:\/\/www.voldrich.net\/index.php\/2017\/12\/03\/pagination-with-github-reactor-and-spring-webclient\/","title":{"rendered":"Pagination with Github, Reactor and Spring Webclient"},"content":{"rendered":"<p>I wanted to go beyond the basic example of extracting a single rest result from github rest API which is shown everywhere these days. So here it is, a simple base for Reactor API for <a href=\"https:\/\/github.com\/MavoCz\/spring-webclient-reactor-test\/tree\/master\">Github<\/a>. It showcases basic functionality of flatMap, recursive calls, custom subscribtion rate limiter implementation.<\/p>\n<p><!--more--><\/p>\n<p>You can find the project here:<\/p>\n<p><a href=\"https:\/\/github.com\/MavoCz\/spring-webclient-reactor-test\/tree\/master\">https:\/\/github.com\/MavoCz\/spring-webclient-reactor-test\/tree\/master<\/a><\/p>\n<p>Test project for testing Spring 5.x Webclient, Reactor with Github.<\/p>\n<p>Implements various showcase usecases as:<\/p>\n<ul>\n<li>Download contributors (all pages) then download user details for them.<\/li>\n<li>Showcases various styles of going through the contributor pages (recursive, concatMap, flatMap).<\/li>\n<li>Subscribtion request rate limiter implementaion.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wanted to go beyond the basic example of extracting a single rest result from github rest API which is shown everywhere these days. So here it is, a simple base for Reactor API for Github. It showcases basic functionality of flatMap, recursive calls, custom subscribtion rate limiter implementation.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"templates\/template-full-width.php","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-675","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/posts\/675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/comments?post=675"}],"version-history":[{"count":1,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/posts\/675\/revisions"}],"predecessor-version":[{"id":699,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/posts\/675\/revisions\/699"}],"wp:attachment":[{"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/media?parent=675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/categories?post=675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.voldrich.net\/index.php\/wp-json\/wp\/v2\/tags?post=675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}