Skip to main content

API Reference

This page documents all public functions, types, and options in the Contract v2 package.

Main Package

Import: github.com/go-mizu/mizu/contract/v2

Functions

Register

Registers a Go interface implementation as a Contract service.
Returns: *RegisteredService for mounting on transports. Example:

Types

RegisteredService

A registered service ready to be mounted on transports.
Methods:

ServiceDescriptor

Metadata about a registered service.

Resource

A group of related methods (e.g., “todos”).

Method

Metadata for a single method.

TypeInfo

Information about a type used in the API.

HTTPBinding

HTTP method and path for a method.

Options

WithName

Sets the service name:

WithDescription

Sets the service description:

WithDefaultResource

Groups all methods under a resource name:

WithResource

Groups specific methods under a resource:

WithMethodHTTP

Override HTTP binding for a method:

WithHTTP

Set HTTP bindings for multiple methods:

WithDefaults

Set global defaults:

WithStreaming

Mark a method as streaming:
Usage Example:

REST Package

Import: github.com/go-mizu/mizu/contract/v2/transport/rest

Functions

Mount

Mounts REST endpoints on a router.
Endpoints created based on method names:
  • Create -> POST /{resource}
  • List -> GET /{resource}
  • Get -> GET /{resource}/{id}
  • Update -> PUT /{resource}/{id}
  • Delete -> DELETE /{resource}/{id}
Example:

NewHandler

Creates an HTTP handler for the service.

Options


JSON-RPC Package

Import: github.com/go-mizu/mizu/contract/v2/transport/jsonrpc

Functions

Mount

Mounts a JSON-RPC 2.0 endpoint.
Example:

NewHandler

Creates a JSON-RPC HTTP handler.

Options


Types

Request

Response

Error


MCP Package

Import: github.com/go-mizu/mizu/contract/v2/transport/mcp

Functions

Mount

Mounts MCP endpoint.
Example:

NewHandler

Creates an MCP HTTP handler.

Options


Types

ServerInfo


OpenAPI Package

Import: github.com/go-mizu/mizu/contract/v2/transport/openapi

Functions

Mount

Mounts OpenAPI spec endpoint.
Example:

Generate

Generates OpenAPI document from service.

Error Types

Error

Contract error with code and message.
Methods:

Error Constructors

Convenience functions for common errors:
General constructors:

ErrorCode

All available error codes:

Helper Functions


Method Signatures

Contract recognizes these method patterns:

Pattern 1: Input and Output

Pattern 2: Output Only

Pattern 3: Input Only

Pattern 4: Neither

Rules:
  • First parameter must be context.Context
  • Input (if any) must be a pointer to a struct
  • Last return value must be error
  • Output (if any) must be a pointer to a struct

Complete Example

This example shows a complete application using the recommended package-based organization:

See Also