# System.Web.Mvc

**Kind:** Service

**Source:** `Pams/API/Pams.API/Pams.API.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`System.Web.Mvc` is a NuGet package dependency declared in `Pams.API.csproj`. It supplies the MVC framework types used by the legacy-format API project for routing requests to controllers and returning HTTP responses.

## Diagram

```mermaid
sequenceDiagram
    participant Client
    participant MvcApplication
    participant Controller

    Client->>MvcApplication: HTTP request
    MvcApplication->>Controller: Resolve route and invoke action
    Controller-->>MvcApplication: Return action result
    MvcApplication-->>Client: HTTP response
```

## Usage

```ts
async function loadPamsData() {
  const response = await fetch("/api/pams");

  if (!response.ok) {
    throw new Error(`Request failed: ${response.status}`);
  }

  return response.json();
}

loadPamsData().then((data) => {
  console.log(data);
});
```

## AI Coding Instructions

- Keep `System.Web.Mvc` references aligned with the package version declared in `Pams.API.csproj`.
- Add request handlers as MVC controllers and actions so they participate in the existing routing pipeline.
- Return MVC action results appropriate to the endpoint, such as JSON or view responses.
- Do not replace MVC framework types with newer framework equivalents without checking project compatibility.
