2022-09-28 07:52:40 +08:00
---
title: "ASP0014: Suggest using top level route registrations"
description: "Learn about analysis rule ASP0014: Suggest using top level route registrations"
2022-11-12 03:13:16 +08:00
author: captainsafia
2022-09-28 07:52:40 +08:00
monikerRange: '>= aspnetcore-7.0'
ms.author: safia
ms.date: 09/27/2022
uid: diagnostics/asp0014
---
# ASP0014: Suggest using top level route registrations
| | Value |
|-|-|
| **Rule ID** |ASP0014|
| **Category** |Usage|
| **Fix is breaking or non-breaking** |Non-breaking|
## Cause
Routes can be registered directly at the top-level of a minimal API application.
## Rule description
Routes can be registered directly at the top-level of a minimal API application and don't need to be nested within a `UseEndpoints` call.
```csharp
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", () => "Hello World!");
});
app.Run();
```
## How to fix violations
To fix a violation of this rule, register the endpoints directly on the `WebApplication` .
```csharp
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
```
## When to suppress warnings
2023-02-23 04:25:03 +08:00
Warnings from this rule can be suppressed if the target `UseEndpoints` invocation is invoked without any mappings as a strategy to organize middleware ordering.
```csharp
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
#pragma warning disable ASP0014
app.UseEndpoints(e => {});
#pragma warning restore ASP0014
app.Run();
```