goa v1.3.0
Another 4 months and another goa release! goa v1.3.0 is out! This version includes new features and a slew of bug fixes. Thank you to all the contributors that spent a lot of time writing (and...
View ArticleLeveraging Swagger
goagen can generate the Swagger specification of an API given its design. The service hosted at https://swagger.goa.design runs goagen swagger on a given (public) Github repository and renders the...
View ArticleError Handling
Goals Handling errors in services in a way that is consistent across all the software layers and provides a documented output to the clients is hard, yet is a requirement for defining crisp API...
View ArticleTracing goa Services with AWS X-Ray
AWS announced the availability of X-Ray in beta as one of the many product announcements that were made at the re:Invent conference. Like most (all?) tracing solutions AWS X-Ray follows the...
View Articlegoa v1.4.0
It’s been almost a year since the last official release of goa. During that year many contributions have been made including both new features and bug fixes. The team has also been hard at work on v2...
View ArticleUpgrading from Goa v1 or Goa v2 to v3
Upgrading from v2 to v3 v2 and v3 are functionally equivalent making the upgrade pretty straightforward. v3 requires Go module support and therefore Go 1.11 or higher. Upgrading from v2 to v3 is as...
View ArticleHandling Errors
Goa makes it possible to describe the errors that a service method may return. From this description Goa can generate both code and documentation. The code provides the transport specific marshalling...
View ArticleFrequently Asked Questions
When are validations defined in the design enforced? There is a trade-off between performance and robustness wrt enforcing the validations defined in the service design. Goa trusts that the user code...
View Articlethe gorma Plugin
gorma is a goa plugin that makes it possible to describe database models. The gorma code generator uses the model definitions to generate code that automatically creates media types from models. More...
View ArticleThe goa-cellar Reference Example
The goa winecellar service provides an example for the goa web application framework. The service implements an API for managing wine bottles. The service is multitenant: bottles are created in the...
View ArticleSecurity
goa has built-in support for multiple security schemes: basic auth, API key (a.k.a. shared secret), JWT and OAuth2. Security schemes can be attached to the entire API, a resource or a single action....
View ArticleThe goa Request Context
Overview The request context is the data structure provided to all goa controller action methods as first parameter. It leverages the work done by the Go team around passing contexts across interface...
View Articlegoa v1.2.0
Today I am very pleased to announce the release of goa v1.2.0! This release contains all the changes made in the v1 branch of goa for the past 4 months - since the release of v1.1.0. New Team Members!...
View Articlegoa v1.4.1
goa v1.4.1 is out! This release contains a few bug fixes and mainly updates the uuid package dependency to a maintained repository. New Features UUID Package Update v1.4.1 updates the import of the...
View ArticleHTTP Encoding
Overview Goa supports a flexible encoding and decoding strategy that makes it possible to associate arbitrary encoders and decoders with given HTTP response and request content types. An encoder is a...
View ArticleStreaming
Streaming Result Goa makes it possible to define unidirectional server-side streaming where an endpoint can receive a payload and stream a sequence of results. The streamed results are instances of the...
View ArticleHTTP Transport Mapping
Payload to HTTP request mapping The payload types describe the shape of the data given as an argument to the service methods. The HTTP transport specific DSL defines how the data is built from the...
View ArticleGoa Development
Development Setup This document describes the steps required to setup a development environment for contributing to Goa. 1. Install Go The first step is to install the Go distribution. Please follow...
View ArticleGetting Started
This guide walks you through writing a complete service in goa. The simple service implements the basic example found in the GitHub repository. The instructions assume the use of Go modules and as such...
View Articlegoagen, the goa Tool
Code Generation Tool goagen is a tool that generates various artifacts from a goa design package. Install it with: go install github.com/goadesign/goa/goagen Each type of artifact is associated with a...
View Article