Building RESTful web services with Spring 5 :: leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 /
Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework. About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service, Leverage the Spring Framework to qui...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2018.
|
Ausgabe: | Second edition. |
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework. About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service, Leverage the Spring Framework to quickly implement RESTful endpoints, Learn to implement a client library for a RESTful web service using the Spring Framework along with the new front end framework. Who This Book Is For This book is intended for those who want to learn to build RESTful web services with the latest Spring 5.0 Framework. To make best use of the code samples included in the book, you should have a basic knowledge of the Java language. Previous experience with the Spring Framework would also help you get up and running quickly. What You Will Learn Deep dive into the principles behind REST Expose CRUD operations through RESTful endpoints with the Spring Framework Devise response formats and error handling strategies, offering a consistent and flexible structure to simplify integration for service consumers Follow the best approaches for dealing with a service's evolution while maintaining backward compatibility Understand techniques to secure web services Comply with the best ways to test RESTful web services, including tips for load testing Optimise and scale web services using techniques such as caching and clustering In Detail REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Spring makes it one of the most attractive frameworks in the Java ecosystem. Marrying the two technologies is therefore a very natural choice. This book takes you through the design of RESTful web services and leverages the Spring Framework to implement these services. Starting from the basics of the philosophy behind REST, you'll go through the steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances. This second edition brings forth the power of the latest Spring 5.0 release, working with MVC built-in as well as the front end framework. It then goes beyond the use of Spring to explores approaches to tackle resilience, securit ... |
Beschreibung: | 1 online resource (1 volume) : illustrations |
ISBN: | 9781788471879 1788471873 1788475895 9781788475891 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1023864104 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr unu|||||||| | ||
008 | 180222s2018 enka o 000 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d OCLCF |d STF |d TOH |d CEF |d KSU |d DEBBG |d TEFOD |d G3B |d S9I |d TEFOD |d UAB |d N$T |d UX1 |d K6U |d YDX |d QGK |d OCLCQ |d OCLCO |d NZAUC |d OCLCQ |d OCLCO |d OCLCL |d DXU | ||
019 | |a 1175640365 | ||
020 | |a 9781788471879 |q (electronic bk.) | ||
020 | |a 1788471873 |q (electronic bk.) | ||
020 | |a 1788475895 |q (electronic bk.) | ||
020 | |a 9781788475891 |q (electronic bk.) | ||
035 | |a (OCoLC)1023864104 |z (OCoLC)1175640365 | ||
037 | |a CL0500000941 |b Safari Books Online | ||
037 | |a 4CFE1FFF-F1EA-4717-A644-0CCFB4807B1E |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a TK5105.88813 | |
082 | 7 | |a 006.76 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Raman, Raja CSP, |e author. | |
245 | 1 | 0 | |a Building RESTful web services with Spring 5 : |b leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / |c Raja CSP Raman, Ludovic Dewailly. |
246 | 3 | |a Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 | |
250 | |a Second edition. | ||
264 | 1 | |a Birmingham, UK : |b Packt Publishing, |c 2018. | |
300 | |a 1 online resource (1 volume) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
588 | 0 | |a Title detail screen (OverDrive, viewed January 15, 2019) | |
520 | |a Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework. About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service, Leverage the Spring Framework to quickly implement RESTful endpoints, Learn to implement a client library for a RESTful web service using the Spring Framework along with the new front end framework. Who This Book Is For This book is intended for those who want to learn to build RESTful web services with the latest Spring 5.0 Framework. To make best use of the code samples included in the book, you should have a basic knowledge of the Java language. Previous experience with the Spring Framework would also help you get up and running quickly. What You Will Learn Deep dive into the principles behind REST Expose CRUD operations through RESTful endpoints with the Spring Framework Devise response formats and error handling strategies, offering a consistent and flexible structure to simplify integration for service consumers Follow the best approaches for dealing with a service's evolution while maintaining backward compatibility Understand techniques to secure web services Comply with the best ways to test RESTful web services, including tips for load testing Optimise and scale web services using techniques such as caching and clustering In Detail REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Spring makes it one of the most attractive frameworks in the Java ecosystem. Marrying the two technologies is therefore a very natural choice. This book takes you through the design of RESTful web services and leverages the Spring Framework to implement these services. Starting from the basics of the philosophy behind REST, you'll go through the steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances. This second edition brings forth the power of the latest Spring 5.0 release, working with MVC built-in as well as the front end framework. It then goes beyond the use of Spring to explores approaches to tackle resilience, securit ... | ||
505 | 0 | |a Cover -- Title Page -- Copyright and Credits -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Few Basics -- REST -- a basic understanding -- Uniform interface -- Client and server -- Stateless -- Cacheable -- Layered system -- Code on demand (COD) -- More on REST -- Imperative and Reactive programming -- Reactive Streams -- Benefits of Reactive programming -- Reactive programming in Java and Spring 5 -- Our RESTful web service architecture -- Summary -- Chapter 2: Building RESTful Web Services in Spring 5 with Maven -- Apache Maven -- Creating a project with Maven -- Viewing a POM file after creating a project -- POM file structure -- Understanding POM dependencies -- Adding Log4j 2.9.1 to POM dependency -- Dependency trees -- Spring Boot -- Developing RESTful web services -- Creating a project base -- Working with your favorite IDE -- Summary -- Chapter 3: Flux and Mono (Reactor Support) in Spring -- Benefits of Reactive programming -- Reactive Core and Streams -- Back pressures and Reactive Streams -- WebFlux -- Basic REST API -- Flux -- Mono -- User class with Reactive -- REST -- Summary -- Chapter 4: CRUD Operations in Spring REST -- CRUD operations in Spring REST -- HTTP methods -- Reactive server initialization -- Sample values in the repository -- getAllUsers - mapping -- getAllUsers - implementation in the handler and repository -- Testing the endpoint - getAllUsers -- getUser - implementation in the handler and repository -- Testing the endpoint - getUser -- createUser - implementation in the handler and repository -- Testing the endpoint - createUser -- updateUser - implementation in the handler and repository -- Testing the endpoint - updateUser -- deleteUser - implementation in the handler and repository -- Testing the endpoint - deleteUser -- Summary. | |
505 | 8 | |a Chapter 5: CRUD Operations in Plain REST (Without Reactive) and File Upload -- Mapping CRUD operations to HTTP methods -- Creating resources -- CRUD operation in Spring 5 (without Reactive) -- getAllUsers - implementation -- getUser -- implementation -- createUser - implementation -- updateUser - implementation -- deleteUser - implementation -- File uploads -- REST API -- Testing the file upload -- Summary -- Chapter 6: Spring Security and JWT (JSON Web Token) -- Spring Security -- Authentication and authorization -- JSON Web Token (JWT) -- JWT dependency -- Creating a JWT token -- Generating a token -- Getting a subject from a JWT token -- Getting a subject from a token -- Summary -- Chapter 7: Testing RESTful Web Services -- JUnit -- MockMvc -- Testing a single user -- Postman -- Getting all the users -- Postman -- Adding a user -- Postman -- Generating a JWT -- Postman -- Getting the subject from the token -- SoapUI -- Getting all the users -- SoapUI -- Generating JWT SoapUI -- Getting the subject from the token -- SoapUI -- jsoup -- Getting a user -- jsoup -- Adding a user -- jsoup -- Running the test cases -- Summary -- Chapter 8: Performance -- HTTP compression -- Content negotiation -- Accept-Encoding -- Content-Encoding -- Server-driven content negotiation -- Agent-driven content negotiation -- HTTP caching -- HTTP cache control -- Public caching -- Private caching -- No-cache -- Only-if-cached -- Cache validation -- ETags -- Last-Modified/If-Modified-Since headers -- Cache implementation -- The REST resource -- Caching with ETags -- Summary -- Chapter 9: AOP and Logger Controls -- Aspect-oriented programming (AOP) -- AOP (@Before) with execution -- Testing AOP @Before execution -- AOP (@Before) with annotation -- Testing AOP @Before annotation -- Integrating AOP with JWT -- Logger controls -- SLF4J, Log4J, and Logback -- Logback framework. | |
505 | 8 | |a Logback dependency and configuration -- Logging levels -- Logback implementation in class -- Summary -- Chapter 10: Building a REST Client and Error Handling -- Building a REST client -- RestTemplate -- Error handling -- Customized exception -- Summary -- Chapter 11: Scaling -- Clustering -- Benefits of clustering -- Load balancing -- Scaling databases -- Vertical scaling -- Horizontal scaling -- Read replicas -- Pool connections -- Use multiple masters -- Load balancing in DB servers -- Database partitioning -- Sharding (horizontal partitioning) -- Vertical partitioning -- Distributed caching -- Data-tier caching -- First-level caching -- Second-level caching -- Application-tier caching -- Memcached -- Redis -- Hazelcast -- Ehcache -- Riak -- Aerospike -- Infinispan -- Cache2k -- Other distributed caching -- Amazon ElastiCache -- Oracle distributed cache (Coherence) -- Summary -- Chapter 12: Microservice Basics -- Monolithic architecture and its drawbacks -- Introduction to microservices -- Independence and autonomy -- Resilience and fault tolerance -- Automated environment -- Stateless -- Benefits of microservices -- Microservice components -- Configuration server -- Load balancer -- Service discovery -- Circuit breaker -- Edge server -- Microservice tools -- Netflix Eureka -- Netflix Zuul -- Spring Cloud Netflix -- Netflix Ribbon -- Netflix Hystrix -- Netflix Turbine -- HashiCorp Consul -- Eclipse MicroProfile -- Summary -- Chapter 13: Ticket Management -- Advanced CRUD -- Ticket management using CRUD operations -- Registration -- User types -- User POJO -- Customer registration -- Admin registration -- CSR registration -- Login and token management -- Generating a token -- Customer login -- Admin login -- CSR login -- Ticket management -- Ticket POJO -- Getting a user by token -- User Ticket management -- Ticket controller. | |
505 | 8 | |a The UserTokenRequired interface -- The UserTokenRequiredAspect class -- Getting my tickets -- customer -- Allowing a user to view their single ticket -- Allowing a customer to update a ticket -- Updating a ticket -- service (TicketServiceImpl) -- Deleting a ticket -- Deleting a service -- service (TicketServiceImpl) -- Deleting my ticket -- API (ticket controller) -- Admin Ticket management -- Allowing a admin to view all tickets -- Getting all tickets -- service (TicketServiceImpl) -- Getting all tickets -- API (ticket controller) -- The AdminTokenRequired interface -- The AdminTokenRequiredAspect class -- Admin updates a ticket -- Updating a ticket by admin -- service (TicketServiceImpl) -- Allowing admin to view a single ticket -- Allowing admin to delete tickets -- Deleting tickets -- service (TicketServiceImpl): -- Deleting tickets by admin -- API (ticket controller): -- CSR Ticket management -- CSR updates a ticket -- CSRTokenRequired AOP -- CSRTokenRequiredAspect -- CSR view all tickets -- Viewing all tickets by CSR -- API (ticket controller) -- CSR view single ticket -- CSR delete tickets -- Deleting tickets -- service (TicketServivceImpl) -- Deleting tickets by CSR -- API (ticket controller) -- Summary -- Other Books You May Enjoy -- Index. | |
650 | 0 | |a Web services. |0 http://id.loc.gov/authorities/subjects/sh2003001435 | |
650 | 0 | |a Representational State Transfer (Software architecture) |0 http://id.loc.gov/authorities/subjects/sh2009000706 | |
650 | 0 | |a Application program interfaces (Computer software) |0 http://id.loc.gov/authorities/subjects/sh98004527 | |
650 | 0 | |a Web sites |x Design. |0 http://id.loc.gov/authorities/subjects/sh98000035 | |
650 | 6 | |a Services Web. | |
650 | 6 | |a REST (Architecture logicielle) | |
650 | 6 | |a Interfaces de programmation d'applications. | |
650 | 6 | |a Sites Web |x Conception. | |
650 | 7 | |a APIs (interfaces) |2 aat | |
650 | 7 | |a Application program interfaces (Computer software) |2 fast | |
650 | 7 | |a Representational State Transfer (Software architecture) |2 fast | |
650 | 7 | |a Web services |2 fast | |
650 | 7 | |a Web sites |x Design |2 fast | |
700 | 1 | |a Dewailly, Ludovic, |e author. |0 http://id.loc.gov/authorities/names/no2016035730 | |
758 | |i has work: |a Building RESTful web services with Spring 5 (Text) |1 https://id.oclc.org/worldcat/entity/E39PCFCP3kbVfgQy7tTHbdqKbb |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
776 | 0 | 8 | |i Print version: |a Raman, Raja CSP. |t Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0. |b Second edition. |d Birmingham, England ; Mumbai, India : Packt Publishing, 2018 |h 228 pages |z 9781788475891 |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699228 |3 Volltext |
938 | |a EBSCOhost |b EBSC |n 1699228 | ||
938 | |a YBP Library Services |b YANK |n 15132139 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1023864104 |
---|---|
_version_ | 1816882413989527554 |
adam_text | |
any_adam_object | |
author | Raman, Raja CSP Dewailly, Ludovic |
author_GND | http://id.loc.gov/authorities/names/no2016035730 |
author_facet | Raman, Raja CSP Dewailly, Ludovic |
author_role | aut aut |
author_sort | Raman, Raja CSP |
author_variant | r c r rc rcr l d ld |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | T - Technology |
callnumber-label | TK5105 |
callnumber-raw | TK5105.88813 |
callnumber-search | TK5105.88813 |
callnumber-sort | TK 45105.88813 |
callnumber-subject | TK - Electrical and Nuclear Engineering |
collection | ZDB-4-EBA |
contents | Cover -- Title Page -- Copyright and Credits -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Few Basics -- REST -- a basic understanding -- Uniform interface -- Client and server -- Stateless -- Cacheable -- Layered system -- Code on demand (COD) -- More on REST -- Imperative and Reactive programming -- Reactive Streams -- Benefits of Reactive programming -- Reactive programming in Java and Spring 5 -- Our RESTful web service architecture -- Summary -- Chapter 2: Building RESTful Web Services in Spring 5 with Maven -- Apache Maven -- Creating a project with Maven -- Viewing a POM file after creating a project -- POM file structure -- Understanding POM dependencies -- Adding Log4j 2.9.1 to POM dependency -- Dependency trees -- Spring Boot -- Developing RESTful web services -- Creating a project base -- Working with your favorite IDE -- Summary -- Chapter 3: Flux and Mono (Reactor Support) in Spring -- Benefits of Reactive programming -- Reactive Core and Streams -- Back pressures and Reactive Streams -- WebFlux -- Basic REST API -- Flux -- Mono -- User class with Reactive -- REST -- Summary -- Chapter 4: CRUD Operations in Spring REST -- CRUD operations in Spring REST -- HTTP methods -- Reactive server initialization -- Sample values in the repository -- getAllUsers - mapping -- getAllUsers - implementation in the handler and repository -- Testing the endpoint - getAllUsers -- getUser - implementation in the handler and repository -- Testing the endpoint - getUser -- createUser - implementation in the handler and repository -- Testing the endpoint - createUser -- updateUser - implementation in the handler and repository -- Testing the endpoint - updateUser -- deleteUser - implementation in the handler and repository -- Testing the endpoint - deleteUser -- Summary. Chapter 5: CRUD Operations in Plain REST (Without Reactive) and File Upload -- Mapping CRUD operations to HTTP methods -- Creating resources -- CRUD operation in Spring 5 (without Reactive) -- getAllUsers - implementation -- getUser -- implementation -- createUser - implementation -- updateUser - implementation -- deleteUser - implementation -- File uploads -- REST API -- Testing the file upload -- Summary -- Chapter 6: Spring Security and JWT (JSON Web Token) -- Spring Security -- Authentication and authorization -- JSON Web Token (JWT) -- JWT dependency -- Creating a JWT token -- Generating a token -- Getting a subject from a JWT token -- Getting a subject from a token -- Summary -- Chapter 7: Testing RESTful Web Services -- JUnit -- MockMvc -- Testing a single user -- Postman -- Getting all the users -- Postman -- Adding a user -- Postman -- Generating a JWT -- Postman -- Getting the subject from the token -- SoapUI -- Getting all the users -- SoapUI -- Generating JWT SoapUI -- Getting the subject from the token -- SoapUI -- jsoup -- Getting a user -- jsoup -- Adding a user -- jsoup -- Running the test cases -- Summary -- Chapter 8: Performance -- HTTP compression -- Content negotiation -- Accept-Encoding -- Content-Encoding -- Server-driven content negotiation -- Agent-driven content negotiation -- HTTP caching -- HTTP cache control -- Public caching -- Private caching -- No-cache -- Only-if-cached -- Cache validation -- ETags -- Last-Modified/If-Modified-Since headers -- Cache implementation -- The REST resource -- Caching with ETags -- Summary -- Chapter 9: AOP and Logger Controls -- Aspect-oriented programming (AOP) -- AOP (@Before) with execution -- Testing AOP @Before execution -- AOP (@Before) with annotation -- Testing AOP @Before annotation -- Integrating AOP with JWT -- Logger controls -- SLF4J, Log4J, and Logback -- Logback framework. Logback dependency and configuration -- Logging levels -- Logback implementation in class -- Summary -- Chapter 10: Building a REST Client and Error Handling -- Building a REST client -- RestTemplate -- Error handling -- Customized exception -- Summary -- Chapter 11: Scaling -- Clustering -- Benefits of clustering -- Load balancing -- Scaling databases -- Vertical scaling -- Horizontal scaling -- Read replicas -- Pool connections -- Use multiple masters -- Load balancing in DB servers -- Database partitioning -- Sharding (horizontal partitioning) -- Vertical partitioning -- Distributed caching -- Data-tier caching -- First-level caching -- Second-level caching -- Application-tier caching -- Memcached -- Redis -- Hazelcast -- Ehcache -- Riak -- Aerospike -- Infinispan -- Cache2k -- Other distributed caching -- Amazon ElastiCache -- Oracle distributed cache (Coherence) -- Summary -- Chapter 12: Microservice Basics -- Monolithic architecture and its drawbacks -- Introduction to microservices -- Independence and autonomy -- Resilience and fault tolerance -- Automated environment -- Stateless -- Benefits of microservices -- Microservice components -- Configuration server -- Load balancer -- Service discovery -- Circuit breaker -- Edge server -- Microservice tools -- Netflix Eureka -- Netflix Zuul -- Spring Cloud Netflix -- Netflix Ribbon -- Netflix Hystrix -- Netflix Turbine -- HashiCorp Consul -- Eclipse MicroProfile -- Summary -- Chapter 13: Ticket Management -- Advanced CRUD -- Ticket management using CRUD operations -- Registration -- User types -- User POJO -- Customer registration -- Admin registration -- CSR registration -- Login and token management -- Generating a token -- Customer login -- Admin login -- CSR login -- Ticket management -- Ticket POJO -- Getting a user by token -- User Ticket management -- Ticket controller. The UserTokenRequired interface -- The UserTokenRequiredAspect class -- Getting my tickets -- customer -- Allowing a user to view their single ticket -- Allowing a customer to update a ticket -- Updating a ticket -- service (TicketServiceImpl) -- Deleting a ticket -- Deleting a service -- service (TicketServiceImpl) -- Deleting my ticket -- API (ticket controller) -- Admin Ticket management -- Allowing a admin to view all tickets -- Getting all tickets -- service (TicketServiceImpl) -- Getting all tickets -- API (ticket controller) -- The AdminTokenRequired interface -- The AdminTokenRequiredAspect class -- Admin updates a ticket -- Updating a ticket by admin -- service (TicketServiceImpl) -- Allowing admin to view a single ticket -- Allowing admin to delete tickets -- Deleting tickets -- service (TicketServiceImpl): -- Deleting tickets by admin -- API (ticket controller): -- CSR Ticket management -- CSR updates a ticket -- CSRTokenRequired AOP -- CSRTokenRequiredAspect -- CSR view all tickets -- Viewing all tickets by CSR -- API (ticket controller) -- CSR view single ticket -- CSR delete tickets -- Deleting tickets -- service (TicketServivceImpl) -- Deleting tickets by CSR -- API (ticket controller) -- Summary -- Other Books You May Enjoy -- Index. |
ctrlnum | (OCoLC)1023864104 |
dewey-full | 006.76 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 006 - Special computer methods |
dewey-raw | 006.76 |
dewey-search | 006.76 |
dewey-sort | 16.76 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Second edition. |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>12544cam a2200661 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1023864104</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr unu||||||||</controlfield><controlfield tag="008">180222s2018 enka o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">OCLCF</subfield><subfield code="d">STF</subfield><subfield code="d">TOH</subfield><subfield code="d">CEF</subfield><subfield code="d">KSU</subfield><subfield code="d">DEBBG</subfield><subfield code="d">TEFOD</subfield><subfield code="d">G3B</subfield><subfield code="d">S9I</subfield><subfield code="d">TEFOD</subfield><subfield code="d">UAB</subfield><subfield code="d">N$T</subfield><subfield code="d">UX1</subfield><subfield code="d">K6U</subfield><subfield code="d">YDX</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">NZAUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">DXU</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">1175640365</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788471879</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788471873</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788475895</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788475891</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1023864104</subfield><subfield code="z">(OCoLC)1175640365</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000941</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">4CFE1FFF-F1EA-4717-A644-0CCFB4807B1E</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">TK5105.88813</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">006.76</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Raman, Raja CSP,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Building RESTful web services with Spring 5 :</subfield><subfield code="b">leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 /</subfield><subfield code="c">Raja CSP Raman, Ludovic Dewailly.</subfield></datafield><datafield tag="246" ind1="3" ind2=" "><subfield code="a">Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Second edition.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2018.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (1 volume) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Title detail screen (OverDrive, viewed January 15, 2019)</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework. About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service, Leverage the Spring Framework to quickly implement RESTful endpoints, Learn to implement a client library for a RESTful web service using the Spring Framework along with the new front end framework. Who This Book Is For This book is intended for those who want to learn to build RESTful web services with the latest Spring 5.0 Framework. To make best use of the code samples included in the book, you should have a basic knowledge of the Java language. Previous experience with the Spring Framework would also help you get up and running quickly. What You Will Learn Deep dive into the principles behind REST Expose CRUD operations through RESTful endpoints with the Spring Framework Devise response formats and error handling strategies, offering a consistent and flexible structure to simplify integration for service consumers Follow the best approaches for dealing with a service's evolution while maintaining backward compatibility Understand techniques to secure web services Comply with the best ways to test RESTful web services, including tips for load testing Optimise and scale web services using techniques such as caching and clustering In Detail REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Spring makes it one of the most attractive frameworks in the Java ecosystem. Marrying the two technologies is therefore a very natural choice. This book takes you through the design of RESTful web services and leverages the Spring Framework to implement these services. Starting from the basics of the philosophy behind REST, you'll go through the steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances. This second edition brings forth the power of the latest Spring 5.0 release, working with MVC built-in as well as the front end framework. It then goes beyond the use of Spring to explores approaches to tackle resilience, securit ...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Title Page -- Copyright and Credits -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Few Basics -- REST -- a basic understanding -- Uniform interface -- Client and server -- Stateless -- Cacheable -- Layered system -- Code on demand (COD) -- More on REST -- Imperative and Reactive programming -- Reactive Streams -- Benefits of Reactive programming -- Reactive programming in Java and Spring 5 -- Our RESTful web service architecture -- Summary -- Chapter 2: Building RESTful Web Services in Spring 5 with Maven -- Apache Maven -- Creating a project with Maven -- Viewing a POM file after creating a project -- POM file structure -- Understanding POM dependencies -- Adding Log4j 2.9.1 to POM dependency -- Dependency trees -- Spring Boot -- Developing RESTful web services -- Creating a project base -- Working with your favorite IDE -- Summary -- Chapter 3: Flux and Mono (Reactor Support) in Spring -- Benefits of Reactive programming -- Reactive Core and Streams -- Back pressures and Reactive Streams -- WebFlux -- Basic REST API -- Flux -- Mono -- User class with Reactive -- REST -- Summary -- Chapter 4: CRUD Operations in Spring REST -- CRUD operations in Spring REST -- HTTP methods -- Reactive server initialization -- Sample values in the repository -- getAllUsers - mapping -- getAllUsers - implementation in the handler and repository -- Testing the endpoint - getAllUsers -- getUser - implementation in the handler and repository -- Testing the endpoint - getUser -- createUser - implementation in the handler and repository -- Testing the endpoint - createUser -- updateUser - implementation in the handler and repository -- Testing the endpoint - updateUser -- deleteUser - implementation in the handler and repository -- Testing the endpoint - deleteUser -- Summary.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Chapter 5: CRUD Operations in Plain REST (Without Reactive) and File Upload -- Mapping CRUD operations to HTTP methods -- Creating resources -- CRUD operation in Spring 5 (without Reactive) -- getAllUsers - implementation -- getUser -- implementation -- createUser - implementation -- updateUser - implementation -- deleteUser - implementation -- File uploads -- REST API -- Testing the file upload -- Summary -- Chapter 6: Spring Security and JWT (JSON Web Token) -- Spring Security -- Authentication and authorization -- JSON Web Token (JWT) -- JWT dependency -- Creating a JWT token -- Generating a token -- Getting a subject from a JWT token -- Getting a subject from a token -- Summary -- Chapter 7: Testing RESTful Web Services -- JUnit -- MockMvc -- Testing a single user -- Postman -- Getting all the users -- Postman -- Adding a user -- Postman -- Generating a JWT -- Postman -- Getting the subject from the token -- SoapUI -- Getting all the users -- SoapUI -- Generating JWT SoapUI -- Getting the subject from the token -- SoapUI -- jsoup -- Getting a user -- jsoup -- Adding a user -- jsoup -- Running the test cases -- Summary -- Chapter 8: Performance -- HTTP compression -- Content negotiation -- Accept-Encoding -- Content-Encoding -- Server-driven content negotiation -- Agent-driven content negotiation -- HTTP caching -- HTTP cache control -- Public caching -- Private caching -- No-cache -- Only-if-cached -- Cache validation -- ETags -- Last-Modified/If-Modified-Since headers -- Cache implementation -- The REST resource -- Caching with ETags -- Summary -- Chapter 9: AOP and Logger Controls -- Aspect-oriented programming (AOP) -- AOP (@Before) with execution -- Testing AOP @Before execution -- AOP (@Before) with annotation -- Testing AOP @Before annotation -- Integrating AOP with JWT -- Logger controls -- SLF4J, Log4J, and Logback -- Logback framework.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Logback dependency and configuration -- Logging levels -- Logback implementation in class -- Summary -- Chapter 10: Building a REST Client and Error Handling -- Building a REST client -- RestTemplate -- Error handling -- Customized exception -- Summary -- Chapter 11: Scaling -- Clustering -- Benefits of clustering -- Load balancing -- Scaling databases -- Vertical scaling -- Horizontal scaling -- Read replicas -- Pool connections -- Use multiple masters -- Load balancing in DB servers -- Database partitioning -- Sharding (horizontal partitioning) -- Vertical partitioning -- Distributed caching -- Data-tier caching -- First-level caching -- Second-level caching -- Application-tier caching -- Memcached -- Redis -- Hazelcast -- Ehcache -- Riak -- Aerospike -- Infinispan -- Cache2k -- Other distributed caching -- Amazon ElastiCache -- Oracle distributed cache (Coherence) -- Summary -- Chapter 12: Microservice Basics -- Monolithic architecture and its drawbacks -- Introduction to microservices -- Independence and autonomy -- Resilience and fault tolerance -- Automated environment -- Stateless -- Benefits of microservices -- Microservice components -- Configuration server -- Load balancer -- Service discovery -- Circuit breaker -- Edge server -- Microservice tools -- Netflix Eureka -- Netflix Zuul -- Spring Cloud Netflix -- Netflix Ribbon -- Netflix Hystrix -- Netflix Turbine -- HashiCorp Consul -- Eclipse MicroProfile -- Summary -- Chapter 13: Ticket Management -- Advanced CRUD -- Ticket management using CRUD operations -- Registration -- User types -- User POJO -- Customer registration -- Admin registration -- CSR registration -- Login and token management -- Generating a token -- Customer login -- Admin login -- CSR login -- Ticket management -- Ticket POJO -- Getting a user by token -- User Ticket management -- Ticket controller.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The UserTokenRequired interface -- The UserTokenRequiredAspect class -- Getting my tickets -- customer -- Allowing a user to view their single ticket -- Allowing a customer to update a ticket -- Updating a ticket -- service (TicketServiceImpl) -- Deleting a ticket -- Deleting a service -- service (TicketServiceImpl) -- Deleting my ticket -- API (ticket controller) -- Admin Ticket management -- Allowing a admin to view all tickets -- Getting all tickets -- service (TicketServiceImpl) -- Getting all tickets -- API (ticket controller) -- The AdminTokenRequired interface -- The AdminTokenRequiredAspect class -- Admin updates a ticket -- Updating a ticket by admin -- service (TicketServiceImpl) -- Allowing admin to view a single ticket -- Allowing admin to delete tickets -- Deleting tickets -- service (TicketServiceImpl): -- Deleting tickets by admin -- API (ticket controller): -- CSR Ticket management -- CSR updates a ticket -- CSRTokenRequired AOP -- CSRTokenRequiredAspect -- CSR view all tickets -- Viewing all tickets by CSR -- API (ticket controller) -- CSR view single ticket -- CSR delete tickets -- Deleting tickets -- service (TicketServivceImpl) -- Deleting tickets by CSR -- API (ticket controller) -- Summary -- Other Books You May Enjoy -- Index.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Web services.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2003001435</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Representational State Transfer (Software architecture)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh2009000706</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application program interfaces (Computer software)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh98004527</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Web sites</subfield><subfield code="x">Design.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh98000035</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Services Web.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">REST (Architecture logicielle)</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Interfaces de programmation d'applications.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Sites Web</subfield><subfield code="x">Conception.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">APIs (interfaces)</subfield><subfield code="2">aat</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application program interfaces (Computer software)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Representational State Transfer (Software architecture)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Web services</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Web sites</subfield><subfield code="x">Design</subfield><subfield code="2">fast</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Dewailly, Ludovic,</subfield><subfield code="e">author.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2016035730</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Building RESTful web services with Spring 5 (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCFCP3kbVfgQy7tTHbdqKbb</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Raman, Raja CSP.</subfield><subfield code="t">Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0.</subfield><subfield code="b">Second edition.</subfield><subfield code="d">Birmingham, England ; Mumbai, India : Packt Publishing, 2018</subfield><subfield code="h">228 pages</subfield><subfield code="z">9781788475891</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699228</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1699228</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">15132139</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1023864104 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:28:14Z |
institution | BVB |
isbn | 9781788471879 1788471873 1788475895 9781788475891 |
language | English |
oclc_num | 1023864104 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (1 volume) : illustrations |
psigel | ZDB-4-EBA |
publishDate | 2018 |
publishDateSearch | 2018 |
publishDateSort | 2018 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Raman, Raja CSP, author. Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / Raja CSP Raman, Ludovic Dewailly. Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 Second edition. Birmingham, UK : Packt Publishing, 2018. 1 online resource (1 volume) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier Title detail screen (OverDrive, viewed January 15, 2019) Find out how to implement the REST architecture to build resilient software in Java with the help of the Spring 5.0 framework. About This Book Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service, Leverage the Spring Framework to quickly implement RESTful endpoints, Learn to implement a client library for a RESTful web service using the Spring Framework along with the new front end framework. Who This Book Is For This book is intended for those who want to learn to build RESTful web services with the latest Spring 5.0 Framework. To make best use of the code samples included in the book, you should have a basic knowledge of the Java language. Previous experience with the Spring Framework would also help you get up and running quickly. What You Will Learn Deep dive into the principles behind REST Expose CRUD operations through RESTful endpoints with the Spring Framework Devise response formats and error handling strategies, offering a consistent and flexible structure to simplify integration for service consumers Follow the best approaches for dealing with a service's evolution while maintaining backward compatibility Understand techniques to secure web services Comply with the best ways to test RESTful web services, including tips for load testing Optimise and scale web services using techniques such as caching and clustering In Detail REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Spring makes it one of the most attractive frameworks in the Java ecosystem. Marrying the two technologies is therefore a very natural choice. This book takes you through the design of RESTful web services and leverages the Spring Framework to implement these services. Starting from the basics of the philosophy behind REST, you'll go through the steps of designing and implementing an enterprise-grade RESTful web service. Taking a practical approach, each chapter provides code samples that you can apply to your own circumstances. This second edition brings forth the power of the latest Spring 5.0 release, working with MVC built-in as well as the front end framework. It then goes beyond the use of Spring to explores approaches to tackle resilience, securit ... Cover -- Title Page -- Copyright and Credits -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Few Basics -- REST -- a basic understanding -- Uniform interface -- Client and server -- Stateless -- Cacheable -- Layered system -- Code on demand (COD) -- More on REST -- Imperative and Reactive programming -- Reactive Streams -- Benefits of Reactive programming -- Reactive programming in Java and Spring 5 -- Our RESTful web service architecture -- Summary -- Chapter 2: Building RESTful Web Services in Spring 5 with Maven -- Apache Maven -- Creating a project with Maven -- Viewing a POM file after creating a project -- POM file structure -- Understanding POM dependencies -- Adding Log4j 2.9.1 to POM dependency -- Dependency trees -- Spring Boot -- Developing RESTful web services -- Creating a project base -- Working with your favorite IDE -- Summary -- Chapter 3: Flux and Mono (Reactor Support) in Spring -- Benefits of Reactive programming -- Reactive Core and Streams -- Back pressures and Reactive Streams -- WebFlux -- Basic REST API -- Flux -- Mono -- User class with Reactive -- REST -- Summary -- Chapter 4: CRUD Operations in Spring REST -- CRUD operations in Spring REST -- HTTP methods -- Reactive server initialization -- Sample values in the repository -- getAllUsers - mapping -- getAllUsers - implementation in the handler and repository -- Testing the endpoint - getAllUsers -- getUser - implementation in the handler and repository -- Testing the endpoint - getUser -- createUser - implementation in the handler and repository -- Testing the endpoint - createUser -- updateUser - implementation in the handler and repository -- Testing the endpoint - updateUser -- deleteUser - implementation in the handler and repository -- Testing the endpoint - deleteUser -- Summary. Chapter 5: CRUD Operations in Plain REST (Without Reactive) and File Upload -- Mapping CRUD operations to HTTP methods -- Creating resources -- CRUD operation in Spring 5 (without Reactive) -- getAllUsers - implementation -- getUser -- implementation -- createUser - implementation -- updateUser - implementation -- deleteUser - implementation -- File uploads -- REST API -- Testing the file upload -- Summary -- Chapter 6: Spring Security and JWT (JSON Web Token) -- Spring Security -- Authentication and authorization -- JSON Web Token (JWT) -- JWT dependency -- Creating a JWT token -- Generating a token -- Getting a subject from a JWT token -- Getting a subject from a token -- Summary -- Chapter 7: Testing RESTful Web Services -- JUnit -- MockMvc -- Testing a single user -- Postman -- Getting all the users -- Postman -- Adding a user -- Postman -- Generating a JWT -- Postman -- Getting the subject from the token -- SoapUI -- Getting all the users -- SoapUI -- Generating JWT SoapUI -- Getting the subject from the token -- SoapUI -- jsoup -- Getting a user -- jsoup -- Adding a user -- jsoup -- Running the test cases -- Summary -- Chapter 8: Performance -- HTTP compression -- Content negotiation -- Accept-Encoding -- Content-Encoding -- Server-driven content negotiation -- Agent-driven content negotiation -- HTTP caching -- HTTP cache control -- Public caching -- Private caching -- No-cache -- Only-if-cached -- Cache validation -- ETags -- Last-Modified/If-Modified-Since headers -- Cache implementation -- The REST resource -- Caching with ETags -- Summary -- Chapter 9: AOP and Logger Controls -- Aspect-oriented programming (AOP) -- AOP (@Before) with execution -- Testing AOP @Before execution -- AOP (@Before) with annotation -- Testing AOP @Before annotation -- Integrating AOP with JWT -- Logger controls -- SLF4J, Log4J, and Logback -- Logback framework. Logback dependency and configuration -- Logging levels -- Logback implementation in class -- Summary -- Chapter 10: Building a REST Client and Error Handling -- Building a REST client -- RestTemplate -- Error handling -- Customized exception -- Summary -- Chapter 11: Scaling -- Clustering -- Benefits of clustering -- Load balancing -- Scaling databases -- Vertical scaling -- Horizontal scaling -- Read replicas -- Pool connections -- Use multiple masters -- Load balancing in DB servers -- Database partitioning -- Sharding (horizontal partitioning) -- Vertical partitioning -- Distributed caching -- Data-tier caching -- First-level caching -- Second-level caching -- Application-tier caching -- Memcached -- Redis -- Hazelcast -- Ehcache -- Riak -- Aerospike -- Infinispan -- Cache2k -- Other distributed caching -- Amazon ElastiCache -- Oracle distributed cache (Coherence) -- Summary -- Chapter 12: Microservice Basics -- Monolithic architecture and its drawbacks -- Introduction to microservices -- Independence and autonomy -- Resilience and fault tolerance -- Automated environment -- Stateless -- Benefits of microservices -- Microservice components -- Configuration server -- Load balancer -- Service discovery -- Circuit breaker -- Edge server -- Microservice tools -- Netflix Eureka -- Netflix Zuul -- Spring Cloud Netflix -- Netflix Ribbon -- Netflix Hystrix -- Netflix Turbine -- HashiCorp Consul -- Eclipse MicroProfile -- Summary -- Chapter 13: Ticket Management -- Advanced CRUD -- Ticket management using CRUD operations -- Registration -- User types -- User POJO -- Customer registration -- Admin registration -- CSR registration -- Login and token management -- Generating a token -- Customer login -- Admin login -- CSR login -- Ticket management -- Ticket POJO -- Getting a user by token -- User Ticket management -- Ticket controller. The UserTokenRequired interface -- The UserTokenRequiredAspect class -- Getting my tickets -- customer -- Allowing a user to view their single ticket -- Allowing a customer to update a ticket -- Updating a ticket -- service (TicketServiceImpl) -- Deleting a ticket -- Deleting a service -- service (TicketServiceImpl) -- Deleting my ticket -- API (ticket controller) -- Admin Ticket management -- Allowing a admin to view all tickets -- Getting all tickets -- service (TicketServiceImpl) -- Getting all tickets -- API (ticket controller) -- The AdminTokenRequired interface -- The AdminTokenRequiredAspect class -- Admin updates a ticket -- Updating a ticket by admin -- service (TicketServiceImpl) -- Allowing admin to view a single ticket -- Allowing admin to delete tickets -- Deleting tickets -- service (TicketServiceImpl): -- Deleting tickets by admin -- API (ticket controller): -- CSR Ticket management -- CSR updates a ticket -- CSRTokenRequired AOP -- CSRTokenRequiredAspect -- CSR view all tickets -- Viewing all tickets by CSR -- API (ticket controller) -- CSR view single ticket -- CSR delete tickets -- Deleting tickets -- service (TicketServivceImpl) -- Deleting tickets by CSR -- API (ticket controller) -- Summary -- Other Books You May Enjoy -- Index. Web services. http://id.loc.gov/authorities/subjects/sh2003001435 Representational State Transfer (Software architecture) http://id.loc.gov/authorities/subjects/sh2009000706 Application program interfaces (Computer software) http://id.loc.gov/authorities/subjects/sh98004527 Web sites Design. http://id.loc.gov/authorities/subjects/sh98000035 Services Web. REST (Architecture logicielle) Interfaces de programmation d'applications. Sites Web Conception. APIs (interfaces) aat Application program interfaces (Computer software) fast Representational State Transfer (Software architecture) fast Web services fast Web sites Design fast Dewailly, Ludovic, author. http://id.loc.gov/authorities/names/no2016035730 has work: Building RESTful web services with Spring 5 (Text) https://id.oclc.org/worldcat/entity/E39PCFCP3kbVfgQy7tTHbdqKbb https://id.oclc.org/worldcat/ontology/hasWork Print version: Raman, Raja CSP. Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0. Second edition. Birmingham, England ; Mumbai, India : Packt Publishing, 2018 228 pages 9781788475891 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699228 Volltext |
spellingShingle | Raman, Raja CSP Dewailly, Ludovic Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / Cover -- Title Page -- Copyright and Credits -- Packt Upsell -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Few Basics -- REST -- a basic understanding -- Uniform interface -- Client and server -- Stateless -- Cacheable -- Layered system -- Code on demand (COD) -- More on REST -- Imperative and Reactive programming -- Reactive Streams -- Benefits of Reactive programming -- Reactive programming in Java and Spring 5 -- Our RESTful web service architecture -- Summary -- Chapter 2: Building RESTful Web Services in Spring 5 with Maven -- Apache Maven -- Creating a project with Maven -- Viewing a POM file after creating a project -- POM file structure -- Understanding POM dependencies -- Adding Log4j 2.9.1 to POM dependency -- Dependency trees -- Spring Boot -- Developing RESTful web services -- Creating a project base -- Working with your favorite IDE -- Summary -- Chapter 3: Flux and Mono (Reactor Support) in Spring -- Benefits of Reactive programming -- Reactive Core and Streams -- Back pressures and Reactive Streams -- WebFlux -- Basic REST API -- Flux -- Mono -- User class with Reactive -- REST -- Summary -- Chapter 4: CRUD Operations in Spring REST -- CRUD operations in Spring REST -- HTTP methods -- Reactive server initialization -- Sample values in the repository -- getAllUsers - mapping -- getAllUsers - implementation in the handler and repository -- Testing the endpoint - getAllUsers -- getUser - implementation in the handler and repository -- Testing the endpoint - getUser -- createUser - implementation in the handler and repository -- Testing the endpoint - createUser -- updateUser - implementation in the handler and repository -- Testing the endpoint - updateUser -- deleteUser - implementation in the handler and repository -- Testing the endpoint - deleteUser -- Summary. Chapter 5: CRUD Operations in Plain REST (Without Reactive) and File Upload -- Mapping CRUD operations to HTTP methods -- Creating resources -- CRUD operation in Spring 5 (without Reactive) -- getAllUsers - implementation -- getUser -- implementation -- createUser - implementation -- updateUser - implementation -- deleteUser - implementation -- File uploads -- REST API -- Testing the file upload -- Summary -- Chapter 6: Spring Security and JWT (JSON Web Token) -- Spring Security -- Authentication and authorization -- JSON Web Token (JWT) -- JWT dependency -- Creating a JWT token -- Generating a token -- Getting a subject from a JWT token -- Getting a subject from a token -- Summary -- Chapter 7: Testing RESTful Web Services -- JUnit -- MockMvc -- Testing a single user -- Postman -- Getting all the users -- Postman -- Adding a user -- Postman -- Generating a JWT -- Postman -- Getting the subject from the token -- SoapUI -- Getting all the users -- SoapUI -- Generating JWT SoapUI -- Getting the subject from the token -- SoapUI -- jsoup -- Getting a user -- jsoup -- Adding a user -- jsoup -- Running the test cases -- Summary -- Chapter 8: Performance -- HTTP compression -- Content negotiation -- Accept-Encoding -- Content-Encoding -- Server-driven content negotiation -- Agent-driven content negotiation -- HTTP caching -- HTTP cache control -- Public caching -- Private caching -- No-cache -- Only-if-cached -- Cache validation -- ETags -- Last-Modified/If-Modified-Since headers -- Cache implementation -- The REST resource -- Caching with ETags -- Summary -- Chapter 9: AOP and Logger Controls -- Aspect-oriented programming (AOP) -- AOP (@Before) with execution -- Testing AOP @Before execution -- AOP (@Before) with annotation -- Testing AOP @Before annotation -- Integrating AOP with JWT -- Logger controls -- SLF4J, Log4J, and Logback -- Logback framework. Logback dependency and configuration -- Logging levels -- Logback implementation in class -- Summary -- Chapter 10: Building a REST Client and Error Handling -- Building a REST client -- RestTemplate -- Error handling -- Customized exception -- Summary -- Chapter 11: Scaling -- Clustering -- Benefits of clustering -- Load balancing -- Scaling databases -- Vertical scaling -- Horizontal scaling -- Read replicas -- Pool connections -- Use multiple masters -- Load balancing in DB servers -- Database partitioning -- Sharding (horizontal partitioning) -- Vertical partitioning -- Distributed caching -- Data-tier caching -- First-level caching -- Second-level caching -- Application-tier caching -- Memcached -- Redis -- Hazelcast -- Ehcache -- Riak -- Aerospike -- Infinispan -- Cache2k -- Other distributed caching -- Amazon ElastiCache -- Oracle distributed cache (Coherence) -- Summary -- Chapter 12: Microservice Basics -- Monolithic architecture and its drawbacks -- Introduction to microservices -- Independence and autonomy -- Resilience and fault tolerance -- Automated environment -- Stateless -- Benefits of microservices -- Microservice components -- Configuration server -- Load balancer -- Service discovery -- Circuit breaker -- Edge server -- Microservice tools -- Netflix Eureka -- Netflix Zuul -- Spring Cloud Netflix -- Netflix Ribbon -- Netflix Hystrix -- Netflix Turbine -- HashiCorp Consul -- Eclipse MicroProfile -- Summary -- Chapter 13: Ticket Management -- Advanced CRUD -- Ticket management using CRUD operations -- Registration -- User types -- User POJO -- Customer registration -- Admin registration -- CSR registration -- Login and token management -- Generating a token -- Customer login -- Admin login -- CSR login -- Ticket management -- Ticket POJO -- Getting a user by token -- User Ticket management -- Ticket controller. The UserTokenRequired interface -- The UserTokenRequiredAspect class -- Getting my tickets -- customer -- Allowing a user to view their single ticket -- Allowing a customer to update a ticket -- Updating a ticket -- service (TicketServiceImpl) -- Deleting a ticket -- Deleting a service -- service (TicketServiceImpl) -- Deleting my ticket -- API (ticket controller) -- Admin Ticket management -- Allowing a admin to view all tickets -- Getting all tickets -- service (TicketServiceImpl) -- Getting all tickets -- API (ticket controller) -- The AdminTokenRequired interface -- The AdminTokenRequiredAspect class -- Admin updates a ticket -- Updating a ticket by admin -- service (TicketServiceImpl) -- Allowing admin to view a single ticket -- Allowing admin to delete tickets -- Deleting tickets -- service (TicketServiceImpl): -- Deleting tickets by admin -- API (ticket controller): -- CSR Ticket management -- CSR updates a ticket -- CSRTokenRequired AOP -- CSRTokenRequiredAspect -- CSR view all tickets -- Viewing all tickets by CSR -- API (ticket controller) -- CSR view single ticket -- CSR delete tickets -- Deleting tickets -- service (TicketServivceImpl) -- Deleting tickets by CSR -- API (ticket controller) -- Summary -- Other Books You May Enjoy -- Index. Web services. http://id.loc.gov/authorities/subjects/sh2003001435 Representational State Transfer (Software architecture) http://id.loc.gov/authorities/subjects/sh2009000706 Application program interfaces (Computer software) http://id.loc.gov/authorities/subjects/sh98004527 Web sites Design. http://id.loc.gov/authorities/subjects/sh98000035 Services Web. REST (Architecture logicielle) Interfaces de programmation d'applications. Sites Web Conception. APIs (interfaces) aat Application program interfaces (Computer software) fast Representational State Transfer (Software architecture) fast Web services fast Web sites Design fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh2003001435 http://id.loc.gov/authorities/subjects/sh2009000706 http://id.loc.gov/authorities/subjects/sh98004527 http://id.loc.gov/authorities/subjects/sh98000035 |
title | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / |
title_alt | Leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 |
title_auth | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / |
title_exact_search | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / |
title_full | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / Raja CSP Raman, Ludovic Dewailly. |
title_fullStr | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / Raja CSP Raman, Ludovic Dewailly. |
title_full_unstemmed | Building RESTful web services with Spring 5 : leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / Raja CSP Raman, Ludovic Dewailly. |
title_short | Building RESTful web services with Spring 5 : |
title_sort | building restful web services with spring 5 leverage the power of spring 5 0 java se 9 and spring boot 2 0 |
title_sub | leverage the power of Spring 5.0, Java SE 9, and Spring Boot 2.0 / |
topic | Web services. http://id.loc.gov/authorities/subjects/sh2003001435 Representational State Transfer (Software architecture) http://id.loc.gov/authorities/subjects/sh2009000706 Application program interfaces (Computer software) http://id.loc.gov/authorities/subjects/sh98004527 Web sites Design. http://id.loc.gov/authorities/subjects/sh98000035 Services Web. REST (Architecture logicielle) Interfaces de programmation d'applications. Sites Web Conception. APIs (interfaces) aat Application program interfaces (Computer software) fast Representational State Transfer (Software architecture) fast Web services fast Web sites Design fast |
topic_facet | Web services. Representational State Transfer (Software architecture) Application program interfaces (Computer software) Web sites Design. Services Web. REST (Architecture logicielle) Interfaces de programmation d'applications. Sites Web Conception. APIs (interfaces) Web services Web sites Design |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1699228 |
work_keys_str_mv | AT ramanrajacsp buildingrestfulwebserviceswithspring5leveragethepowerofspring50javase9andspringboot20 AT dewaillyludovic buildingrestfulwebserviceswithspring5leveragethepowerofspring50javase9andspringboot20 AT ramanrajacsp leveragethepowerofspring50javase9andspringboot20 AT dewaillyludovic leveragethepowerofspring50javase9andspringboot20 |