{"repo":"naturalprogrammer/spring-lemon","free":true,"listed":false,"github":"https://github.com/naturalprogrammer/spring-lemon","clone":"git clone https://github.com/naturalprogrammer/spring-lemon.git","description":"Helper library for Spring Boot web applications","language":"Java","stars":712,"topics":["java","spring-lemon","spring-framework","rest-api","spring-mvc","spring-security","spring-boot"],"license":null,"category":"api-integrations-sdks","readme_excerpt":"Spring Lemon Note: for latest patterns and best practices, follow the successor https://github.com/naturalprogrammer/np-spring-mvc-demo When developing real-world Spring REST APIs and microservices, you face many challenges like 1. How to follow a stateless and efficient security model – using JWT authentication, session sliding etc. 1. How to configure Spring Security to suit API development, e.g. returning 200 or 401 responses on login, configuring CORS , JSON vulnerability protection , etc. 1. How to elegantly do validations and exceptions and send precise errors to the client. 1. How to easily mix manual and bean validations in a single validation cycle. 1. How exactly to support multiple social sign up/in , using OpenID Connect or OAuth2 providers such as Google and Facebook . 1. How to code a robust user module (with features like sign up , sign in , verify email , social sign up/in , update profile , forgot password , change password , change email , token authentication etc.) and share it across all your applications. 1. How to correctly and effeciently secure microservices , using long-lived and short-lived JWTs. 1. What would be good ways to test your API . 1. How to do Captcha validation . 1. How to properly organize application properties . 1. How to use PATCH and JsonPatch to handle partial updates correctly. 1. How to do all the above reactively, using WebFlux and WebFlux security. Coding all this rightly needs in-depth knowledge of Spring. It also takes a lot o","default_branch":null,"files":null,"tree":[],"storefront":"/r/naturalprogrammer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/naturalprogrammer/spring-lemon/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}