program and deploy fast, scalable web services and create high-performance RESTful APIs using Go /
Nathan Kozyra.
Birmingham, UK :
Packt Publishing,
2015.
1 online resource (1 volume) :
illustrations
Community experience distilled
Includes index.
Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Our First API in Go; Understanding requirements and dependencies; Installing Go; Installing and using MySQL; Redis; Couchbase; Nginx; Apache JMeter; Using predefined datasets; Choosing an IDE; Eclipse; Sublime Text; LiteIDE; IntelliJ IDEA; Some client-side tools; Looking at our application; Setting up our database; Introducing the HTTP package; Quick hitter -- saying Hello, World via API; Building our first route; Gorilla; Routes; Setting data via HTTP; Connecting to MySQL.
Introducing security and authenticationForcing HTTPS; Adding TLS support; Letting users register and authenticate; A quick hit -- generating a salt; Examining OAuth in Go; Making requests on behalf of users; Summary; Chapter 6: Accessing and Using Web Services in Go; Connecting our users to other services; Saving state with a web service; Using data from other OAuth services; Connecting securely as a client in Go; Summary; Chapter 7: Working with Other Web Technologies; Serving Go through a reverse proxy; Using Go with Apache; Go and NGINX as a reverse proxy; Enabling sessions for the API.
Serving data from the datastore to the clientSetting headers to add detail for clients; Summary; Chapter 2: RESTful Services in Go; Designing our application; Looking at REST; Making a representation in an API; Self-description; The importance of a URI; HATEOAS; Other API architectures; RPC; Choosing formats; JSON; XML; YAML; CSV; Comparing the HTTP actions and methods; The PATCH versus the PUT method; Bringing in CRUD; Adding more endpoints; Handling API versions; Allowing pagination with the link header; Summary; Chapter 3: Routing and Bootstrapping; Writing custom routers in Go.
Sessions in a RESTful designUsing NoSQL in Go; Memcached; MongoDB; Enabling connections using a username and password; Allowing our users to connect to each other; Summary; Chapter 8: Responsive Go for the Web; Creating a frontend interface; Logging in; Using client-side frameworks with Go; jQuery; Consuming APIs with jQuery; AngularJS; Consuming APIs with Angular; Setting up an API-consuming frontend; Creating a client-side Angular application for a web service; Viewing other users; Rendering frameworks on the server side in Go; Creating a status update; Summary; Chapter 9: Deployment.
Using more advanced routers in GorillaUsing Gorilla for JSON-RPC; Using services for API access; Using a simple interface for API access; Returning valuable error information; Handling binary data; Summary; Chapter 4: Designing APIs in Go; Designing our social network API; Handling our API versions; Concurrent WebSockets; Separating our API logic; Expanding our error messages; Updating our users via the web service; Summary; Chapter 5: Templates and Options in Go; Sharing our OPTIONS; Implementing alternative formats; Rolling our own data representation format.
0
8
8
8
8
If you are a web programmer with experience in developing web services and have a rudimentary knowledge of using Go, then this is the book for you. Basic knowledge of Go as well as knowledge of relational databases and non-relational NoSQL datastores is assumed. Some basic concurrency knowledge is also required.
Safari Books Online
CL0500000591
Mastering Go Web Services.
9781783981304
Program and deploy fast, scalable web services and create high-performance RESTful APIs using Go
Application program interfaces (Computer software)
Go (Computer program language)
Application program interfaces (Computer software)