File: Program.cs
Web Access
Project: src\src\Mvc\test\WebSites\SimpleWebSiteWithWebApplicationBuilder\SimpleWebSiteWithWebApplicationBuilder.csproj (SimpleWebSiteWithWebApplicationBuilder)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using Microsoft.AspNetCore.Mvc;
 
using static Microsoft.AspNetCore.Http.Results;
 
var builder = WebApplication.CreateBuilder(args);
 
builder.Services.AddControllers();
builder.Services.AddAntiforgery();
 
var app = builder.Build();
 
// just to make sure that it does not cause exceptions
app.Urls.Add("http://localhost:8080");
 
app.UseAntiforgery();
 
app.MapControllers();
 
app.MapGet("/", () => "Hello World");
 
app.MapGet("/json", () => Json(new Person("John", 42)));
 
app.MapGet("/ok-object", () => Ok(new Person("John", 42)));
 
app.MapGet("/accepted-object", () => Accepted("/ok-object", new Person("John", 42)));
 
app.MapGet("/many-results", (int id) =>
{
    if (id == -1)
    {
        return NotFound();
    }
 
    return Redirect("/json", permanent: true);
});
 
app.MapGet("/problem", () => Results.Problem("Some problem"));
 
app.MapGet("/environment", (IHostEnvironment environment) => environment.EnvironmentName);
app.MapGet("/webroot", (IWebHostEnvironment environment) => environment.WebRootPath);
 
app.MapGet("/greeting", (IConfiguration config) => config["Greeting"]);
 
app.MapPost("/accepts-default", (Person person) => Results.Ok(person.Name));
app.MapPost("/accepts-xml", () => Accepted()).Accepts<Person>("application/xml");
 
app.MapPost("/fileupload", async (IFormFile file) =>
{
    await using var uploadStream = file.OpenReadStream();
    return uploadStream.Length;
});
 
app.Run();
 
record Person(string Name, int Age);
 
public class MyController : ControllerBase
{
    [HttpGet("/greet")]
    public string Greet() => $"Hello human";
}
 
namespace SimpleWebSiteWithWebApplicationBuilder
{
    public partial class Program
    {
    }
}