MASAMinimalAPI:创建MinimalAPI项目

项目准备

1.创建项目,选择webapi。取消勾选使用控制器。创建minimal Api项目

image-1683276799909

2.创建成功后MinimalAPI的接口直接写在program.cs中

image-1683276808400

3.引入nuget包:Masa.Contrib.Service.MinimalAPIs

image-1683276817049

MinimalAPI改造

1. 在program.cs中加入以下内容

将原有的

var app = builder.Build();

换成

var app = builder.Services.AddServices(builder);

2.自定义Service并继承ServiceBase

1.我们创建的一个自定义service如下:

    public class UserService : ServiceBase {
        public UserService() : base() {
            App.MapGet("/api/weatherforecast", GetWeatherForecast);
        }
        public async Task<WeatherForecast[]> PostWeather() {
            return null;
        }
        public async Task< WeatherForecast[]> GetWeatherForecast() {
            var summaries = new[]
            {
                "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
            };
            var forecast = Enumerable.Range(1, 5).Select(index =>
        new WeatherForecast
        (
            DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            Random.Shared.Next(-20, 55),
            summaries[Random.Shared.Next(summaries.Length)]
        ))
        .ToArray();
            return forecast;
        }

        public async Task<IResult> Register() {
            return Results.Ok("注册成功");
        }
    }
    public record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary) {
        public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
    }

2.构建成功,查看swagger

image-1683276829564

提问:为什么我们只写了一个app.MapGet,却生成了三个接口

下一篇:MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口

阅读如遇样式问题,请前往个人博客浏览: https://www.raokun.top
拥抱ChatGPT,国内访问网站:https://ai.terramours.site
开源项目地址:https://github.com/firstsaofan/TerraMours

原文链接:https://www.cnblogs.com/raok/p/17374688.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MASAMinimalAPI:创建MinimalAPI项目 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • C#实现启动,关闭与查找进程的方法

    下面是详细讲解“C#实现启动,关闭与查找进程的方法”的完整攻略。 启动进程 在C#中启动一个进程,可以使用Process类的Start方法。该方法可以接受一个指向可执行文件的路径作为输入参数,并返回一个Process对象,该对象表示对该进程的控制权。 例如: using System.Diagnostics; // 启动notepad进程 Process p…

    C# 2023年5月15日
    00
  • C#实现洗牌算法

    C#实现洗牌算法攻略 什么是洗牌算法 洗牌算法(shuffle algorithm)是将一组元素随机打乱顺序的算法。在计算机学科中,洗牌算法通常用于生成随机数、实现游戏等领域。 洗牌算法的实现过程 遍历待洗牌的数组,从最后一个元素开始向前遍历。 对于当前元素,随机生成一个0到当前下标之间的随机数,表示从剩余未洗牌的元素中随机选取一个元素与当前元素交换。 如果…

    C# 2023年6月6日
    00
  • C#编程调用Cards.dll实现图形化发牌功能示例

    C#编程调用Cards.dll实现图形化发牌功能示例 一、背景介绍 随着计算机的不断普及,越来越多的人选择使用电脑进行休闲娱乐。而纸牌游戏作为一种简单、有趣的休闲游戏,在计算机上得到了广泛的应用。本篇攻略主要介绍了C#编程调用Cards.dll实现图形化发牌功能的方法。 二、技术点介绍 C#编程语言:C#是一种面向对象的编程语言,它不仅继承了C++语言的特点…

    C# 2023年6月7日
    00
  • .Net Core WebApi的简单创建以及使用方法

    创建和使用.NET Core Web API是一种构建RESTful Web服务的常见方法。本文将详细讲解.NET Core Web API的简单创建以及使用方法,包括环境搭建、代码实现、示例说明等。 环境搭建 在开始实现.NET Core Web API之前,我们需要先搭建好开发环境。具体来说,我们需要安装以下软件: Visual Studio 2019或…

    C# 2023年5月16日
    00
  • 基于ajax与msmq技术的消息推送功能实现代码

    我可以为你提供一份详细的基于ajax与msmq技术的消息推送功能实现代码攻略。 简介 基于ajax与msmq技术的消息推送功能,本质上是一种实时通信(real-time communication)的方式。通常情况下,网页通信是通过http协议和服务器进行的,即客户端只能在一定的时间间隔内向服务器发送请求,服务器就会在收到请求时返回数据。而基于ajax与ms…

    C# 2023年6月6日
    00
  • ASP.NET Core中的Ocelot网关介绍

    ASP.NET Core中的Ocelot网关介绍 Ocelot是一个基于.NET Core的API网关,可以用于将多个微服务组合成一个整体的API。本文将介绍如何在ASP.NET Core中使用Ocelot网关。 准备工作 在开始之前,需要完成以下准备工作: 安装.NET Core SDK。 创建多个微服务。 步骤 步骤1:创建ASP.NET Core We…

    C# 2023年5月17日
    00
  • C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法

    要利用LINQ to XML与反射将任意类型的泛型集合转换成XML格式字符串,需要按照以下步骤实现: 第一步:创建XML文档对象 首先,我们需要创建一个XDocument对象,这个对象将表示我们要转换的XML文档,然后通过它来操作整个XML文档实现转换。 XDocument doc = new XDocument(new XElement("Roo…

    C# 2023年6月1日
    00
  • c#创建浮动工具栏功能示例

    下面是关于“c#创建浮动工具栏功能示例”的完整攻略: 1. 理解浮动工具栏 浮动工具栏指的是一类在应用程序中可以自由移动的控件集合。在 C# 语言中,我们可以使用菜单和工具栏的组合来实现浮动工具栏的功能。 在实现浮动工具栏前,我们需要做以下准备工作: 在代码中创建菜单栏和工具栏,并设置相应的点击事件程序; 构建浮动工具栏并将其放置在应用程序窗口中。 下面,我…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部