Cargando…

Building RESTful Web services with Go : Learn how to build powerful RESTful APIs with Golang that scale gracefully /

REST is an architectural style that tackles the challenges of building scalable web services and 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...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Yellavula, Naren (Autor)
Otros Autores: Joshi, Anshul
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2017.
Temas:
Acceso en línea:Texto completo

MARC

LEADER 00000cam a2200000 i 4500
001 EBSCO_on1020033431
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu---unuuu
008 180120s2017 enk o 000 0 eng d
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d MERUC  |d IDB  |d COO  |d UOK  |d TEFOD  |d OCLCF  |d OCLCQ  |d WYU  |d LVT  |d C6I  |d N$T  |d OCLCQ  |d OCLCO  |d NZAUC  |d OCLCQ 
020 |a 9781788291088  |q (electronic bk.) 
020 |a 1788291085  |q (electronic bk.) 
029 1 |a AU@  |b 000067091718 
035 |a (OCoLC)1020033431 
037 |a CB96A601-5F91-44CA-9903-C37D0725E7FC  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a TK5105.88813 
050 4 |a TK5105.59  |b .Y455 2017eb 
072 7 |a COM  |x 060180  |2 bisacsh 
082 0 4 |a 006.76  |2 23 
082 0 4 |a 005.8  |2 23 
049 |a UAMI 
100 1 |a Yellavula, Naren,  |e author. 
245 1 0 |a Building RESTful Web services with Go :  |b Learn how to build powerful RESTful APIs with Golang that scale gracefully /  |c Naren Yellavula. 
260 |a Birmingham :  |b Packt Publishing,  |c 2017. 
300 |a 1 online resource (311 pages) 
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 Print version record. 
520 |a REST is an architectural style that tackles the challenges of building scalable web services and 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 Go, makes it a breeze for developers to ... 
505 0 |a Cover -- Title Page -- Copyright -- Credits -- About the Author -- Acknowledgments -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Getting Started with REST API Development -- Types of web services -- REST API -- Characteristics of REST services -- REST verbs and status codes -- GET -- POST, PUT, and PATCH -- DELETE and OPTIONS -- Cross-Origin Resource Sharing (CORS) -- Types of status codes -- 2xx family (successful) -- 3xx family (redirection) -- 4xx family (client error) -- 5xx family (server error) -- Rise of REST API with Single Page Applications -- Old and new ways of data flow in SPA -- Why Go for REST API development? -- Setting up the project and running the development server -- Demystifying GOPATH -- Building our first service -- finding the Roman numeral -- Breaking down the code -- Live reloading the application with supervisord and Gulp -- Monitoring your Go web server with supervisord -- Installing supervisord -- Using Gulp for creating auto code compiling and server reloading -- Understanding the gulpfile -- Summary -- Chapter 2: Handling Routing for Our REST Services -- Getting the code -- Understanding Go's net/http package -- Running the code -- ServeMux, a basic router in Go -- Running the code -- Adding multiple handlers using ServeMux -- Running the code -- Introducing httprouter, a lightweight HTTP router -- Installation -- Program explanation -- Building the simple static file server in minutes -- Introducing Gorilla Mux, a powerful HTTP router -- Installation -- Fundamentals of Gorilla Mux -- Reverse mapping URL -- Custom paths -- Path Prefix -- Strict Slash -- Encoded paths -- Query-based matching -- Host-based matching -- SQL injections in URLs and ways to avoid them -- Creating a basic API layout for URL shortening services -- Summary. 
505 8 |a Chapter 3: Working with Middleware and RPC -- Getting the code -- What is middleware? -- Creating a basic middleware -- Multiple middleware and chaining -- Painless middleware chaining with Alice -- Using Gorilla's Handlers middleware for Logging -- What is RPC? -- Creating an RPC server -- Creating an RPC client -- JSON RPC using Gorilla RPC -- Summary -- Chapter 4: Simplifying RESTful Services with Popular Go Frameworks -- Getting the code -- go-restful, a framework for REST API creation -- CRUD operations and SQLite3 basics -- Building a Metro Rail API with go-restful -- Design specification -- Creating database models -- Building RESTful APIs with the Gin framework -- Building a RESTful API with Revel.go -- Summary -- Chapter 5: Working with MongoDB and Go to Create REST APIs -- Getting the code -- Introduction to MongoDB -- Installing MongoDB and using the shell -- Working with the Mongo shell -- Introducing mgo, a MongoDB driver for Go -- RESTful API with Gorilla Mux and MongoDB -- Boosting the querying performance with indexing -- Designing an e-commerce data document model -- Summary -- Chapter 6: Working with Protocol Buffers and GRPC -- Getting the code -- Introduction to protocol buffers -- Protocol buffer language -- Scalar values -- Enumerations and repeated fields -- Compiling a protocol buffer with protoc -- Introduction to GRPC -- Bidirectional streaming with GRPC -- Summary -- Chapter 7: Working with PostgreSQL, JSON, and Go -- Getting the code -- Installing the PostgreSQL database -- Adding users and databases in PostgreSQL -- pq, a pure PostgreSQL database driver for Go -- Implementing a URL shortening service using Postgres and pq -- Defining the Base62 algorithm -- Exploring the JSON store in PostgreSQL -- GORM, a powerful ORM for Go -- Implementing the e-commerce REST API -- Summary. 
505 8 |a Chapter 8: Building a REST API Client in Go and Unit Testing -- Getting the code -- Plan for building a REST API client -- Basics for writing a command-line tool in Go -- CLI -- a library for building beautiful clients -- Collecting command-line arguments in CLI -- grequests -- a REST API package for Go -- API overview of grequests -- Getting comfortable with the GitHub REST API -- Creating a CLI tool as an API client for the GitHub REST API -- Using Redis for caching the API data -- Creating a unit testing tool for our URL shortening service -- Summary -- Chapter 9: Scaling Our REST API Using Microservices -- Getting the code -- What are microservices? -- Monolith versus microservices -- Go Kit, a package for building microservices -- Building a REST microservice with Go Kit -- Adding logging to your microservice -- Adding instrumentation to your microservice -- Summary -- Chapter 10: Deploying Our REST services -- Getting the code -- Installing and configuring Nginx -- What is a proxy server? -- Important Nginx paths -- Using server blocks -- Creating a sample Go application and proxying it -- Load balancing with Nginx -- Rate limiting our REST API -- Securing our Nginx proxy server -- Monitoring our Go API server with Supervisord -- Installing Supervisord -- Summary -- Chapter 11: Using an API Gateway to Monitor and Metricize REST API -- Getting the code -- Why is an API gateway required? -- Kong, an open-source API gateway -- Introducing Docker -- Installing a Kong database and Kong -- Adding API to Kong -- API logging in Kong -- API authentication in Kong -- API rate limiting in Kong -- Kong CLI -- Other API gateways -- Summary -- Chapter 12: Handling Authentication for Our REST Services -- Getting the code -- How authentication works -- Session-based authentication -- Introducing Postman, a tool for testing REST API. 
505 8 |a Persisting client sessions with Redis -- Introduction to JSON Web Tokens (JWT) and OAuth2 -- JSON web token format -- Reserved claims -- Private claims -- Creating a JWT in Go -- Reading a JWT in Go -- OAuth 2 architecture and basics -- Authentication versus authorization -- Summary -- Index. 
590 |a eBooks on EBSCOhost  |b EBSCO eBook Subscription Academic Collection - Worldwide 
650 0 |a Web services. 
650 0 |a Go (Computer program language) 
650 0 |a Application program interfaces (Computer software) 
650 0 |a Web sites  |x Design. 
650 6 |a Services Web. 
650 6 |a Go (Langage de programmation) 
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 COMPUTERS  |x Web  |x Web Services & APIs.  |2 bisacsh 
650 7 |a Application program interfaces (Computer software)  |2 fast  |0 (OCoLC)fst00811704 
650 7 |a Go (Computer program language)  |2 fast  |0 (OCoLC)fst01893916 
650 7 |a Web services.  |2 fast  |0 (OCoLC)fst01173242 
650 7 |a Web sites  |x Design.  |2 fast  |0 (OCoLC)fst01173252 
700 1 |a Joshi, Anshul. 
776 0 8 |i Print version:  |a Yellavula, Naren.  |t Building RESTful Web services with Go : Learn how to build powerful RESTful APIs with Golang that scale gracefully.  |d Birmingham : Packt Publishing, ©2017  |z 9781788294287 
856 4 0 |u https://ebsco.uam.elogim.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1682418  |z Texto completo 
938 |a EBL - Ebook Library  |b EBLB  |n EBL5216126 
938 |a EBSCOhost  |b EBSC  |n 1682418 
994 |a 92  |b IZTAP