Quantcast
Channel:
Browsing all 285 articles
Browse latest View live

Custom HTTP Middleware

Goa services use standard Go HTTP handlers, which means you can use any HTTP middleware that follows Go’s standard middleware pattern. This guide shows you how to create effective HTTP middleware that...

View Article


API Key Authentication

API Key authentication is a simple and popular way to secure APIs. It involves distributing unique keys to clients who then include these keys in their requests. This method is particularly useful for...

View Article


API Definition

API Definition The API function is a top-level DSL that defines the global properties of your service. It acts as the root of your design and establishes the foundation for all other components. Each...

View Article

What is Goa?

Now that you understand why Goa can transform your API development, let’s explore how it works in practice. At its core, Goa is a design-first framework that revolutionizes how you build microservices...

View Article

Unary Interceptors

Unary gRPC Interceptors Unary interceptors handle single request/response RPCs in gRPC services. They’re ideal for protocol-level concerns like metadata handling, logging, and monitoring. This guide...

View Article


Serving Files

Goa provides a straightforward way to serve static assets such as HTML, CSS, JavaScript, and images through the Files function in the service DSL. This function allows you to map HTTP paths to...

View Article

Protocol Buffer Integration

Protocol Buffer Integration Goa manages Protocol Buffer generation and compilation through several key components: Automatic .proto Generation Goa automatically creates Protocol Buffer definitions from...

View Article

Understanding Plugins

Goa plugins extend and customize the functionality of your APIs. Whether you need to add rate limiting, integrate monitoring tools, or generate code in different languages, plugins provide a flexible...

View Article


gRPC Overview

Goa provides first-class support for designing and implementing gRPC services. This guide introduces the core concepts of using gRPC with Goa. What is gRPC? gRPC is a high-performance RPC (Remote...

View Article


Introduction

Streaming is a powerful feature that allows APIs to handle large volumes of data and real-time updates efficiently. In Goa, streaming support enables you to define endpoints that can send or receive a...

View Article

Introduction

Effective error handling is a cornerstone of building reliable and maintainable APIs. In the context of Goa, a design-first framework for building microservices Effective error handling is a...

View Article

Installation

Prerequisites Goa requires the use of Go modules, so ensure they’re enabled in your Go environment. Use Go 1.18+ (recommended). Enable Go Modules: Confirm they’re enabled in your environment (e.g.,...

View Article

Getting Started with Interceptors

This guide will walk you through creating and using your first Goa interceptor. We’ll create a simple logging interceptor that records the timing of method calls. Defining an Interceptor Interceptors...

View Article


Domain Vs Transport

When designing error handling in Goa, it’s important to understand the distinction between domain errors and their transport representation. This separation allows you to maintain clean domain logic...

View Article

Designing gRPC Services

In this tutorial, you’ll design a simple gRPC service with Goa. While Goa is often used for REST endpoints, it also has first-class support for gRPC transports. You’ll see how to: Define a service and...

View Article


Designing a REST API

This tutorial walks you through designing a REST API for managing music concerts using Goa. You’ll learn how to create a complete API design that includes common operations, proper HTTP mappings, and...

View Article

Data Modeling

Goa provides a powerful type system that allows you to model your domain with precision and clarity. From simple primitives to complex nested structures, the DSL offers a natural way to express data...

View Article


Contributing to Goa

Welcome to the Goa contributor’s guide! This document will help you understand how you can contribute to making Goa better. Whether you’re interested in improving code, documentation, or helping other...

View Article

Content Negotiation

Content negotiation allows your HTTP services to support multiple content types and formats. Goa provides a flexible encoding and decoding strategy that makes it possible to associate arbitrary...

View Article

Command Line Tool

Installation Install Goa’s command-line tools using: go install goa.design/goa/v3/cmd/goa@latest Available Commands Generate Code (goa gen) goa gen <design-package-import-path> [-o...

View Article
Browsing all 285 articles
Browse latest View live