cratestack-codec-json 0.3.7

Rust-native schema-first framework for typed HTTP APIs, generated clients, and backend services.
Documentation
# cratestack-codec-json

JSON codec for CrateStack HTTP transport.

## Overview

`cratestack-codec-json` exposes `JsonCodec`, a zero-state implementation of the `CoolCodec` trait built on `serde_json`. It is the right choice for human-readable interop and browser clients that do not negotiate CBOR.

## Installation

```toml
[dependencies]
cratestack-codec-json = "0.2.2"
```

## Usage

```rust
use cratestack_codec_json::JsonCodec;
use cratestack_core::CoolCodec;

let codec = JsonCodec;
let bytes = codec.encode(&("cool", "stack"))?;
let value: (String, String) = codec.decode(&bytes)?;

assert_eq!(JsonCodec::CONTENT_TYPE, "application/json");
```

### With generated routes

```rust
let router = cratestack_schema::axum::model_router(cool, JsonCodec, AppAuthProvider);
```

### With the Rust client

```rust
use cratestack_client_rust::{ClientConfig, CratestackClient, JsonCodec};

let base_url = url::Url::parse("https://api.example.com")?;
let client = CratestackClient::new(ClientConfig::new(base_url), JsonCodec);
```

## See Also

- [Transport Architecture]https://cratestack.dev/architecture/transport-architecture
- `cratestack-codec-cbor` — CBOR codec, preferred for production internal traffic

## License

MIT