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

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

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

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


提问:为什么我们只写了一个app.MapGet,却生成了三个接口
MASA MinimalAPI源码解析:为什么我们只写了一个app.MapGet,却生成了三个接口:https://note.raokun.top/archives/masaminimalapi-yuan-ma-jie-xi--wei-shen-me-wo-men-zhi-xie-le-yi-ge-appmapget-que-sheng-cheng-le-san-ge-jie-kou
阅读如遇样式问题,请前往个人博客浏览: https://note.raokun.top
拥抱ChatGPT,国内访问网站:https://ai.firstsaofan.top
开源项目地址:https://github.com/firstsaofan/TerraMours
MASAMinimalAPI:创建MinimalAPI项目的更多相关文章
- 创建maven项目(cmd 命令)
2016五月 22 原 创建maven项目(cmd 命令) 分类:maven (994) (0) 1.普通方式创建 1)进入cmd窗口执行 mvn archetype:generate 2) 光标停止 ...
- (八)Eclipse创建Maven项目运行mvn命令
1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...
- Jenkins创建Maven项目及SSH部署
前面我们已经安装了Jenkins的环境,以及配置好了jdk和maven.下面我们来看如何通过Jenkins将svn的项目进行打包和部署. 创建MAVEN项目 1.点击新建,输入项目名,选择" ...
- 终端指令操作创建Django项目
需求:通过Django创建一个用户表和权限表. 用户表包括:用户名,邮箱,密码,管理权限. 权限表包括:普通用户,管理用户,超级用户. 权限表和用户表有一对多的关系,即用户表中的每条数据对应权限表中的 ...
- VS自定义项目模板:[2]创建VSIX项目模板扩展
VS自定义项目模板:[2]创建VSIX项目模板扩展 听语音 | 浏览:1237 | 更新:2015-01-02 09:21 | 标签:软件开发 1 2 3 4 5 6 7 分步阅读 一键约师傅 百度师 ...
- 用Kotlin开发Android应用(II):创建新项目
这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...
- Eclipse+Maven创建webapp项目<一>(转)
还在为jar下载而烦恼吗?还在为jar依赖关系而烦恼吗?还在为jar冲突而烦恼吗?强大的maven项目管理工具来拯救你们呢?自动下载jar,自动下载jar依赖包.你什么都不用做,只需要在中央仓库中co ...
- Eclipse+maven创建webapp项目<二>(转)
原文地址:http://www.cnblogs.com/candle806/p/3439469.html 1.开启eclipse,右键new-->other,如下图找到maven project ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
随机推荐
- ajax缓存和fiddler——http协议调试代理工具
1.在ie9下,ajax请求可能会有缓存,需要在请求上一个随机数 如:Math.random(); 2.fiddler2 打开以后可以查看所有的http请求情况,也可以使用本地脚本代替要请求的js文件 ...
- 在 Maui 中自绘组件1:绘制
在 Maui 中自绘组件 系列文章已完结,共六篇,此为第一篇. 在 Maui 中自绘组件1:绘制 在 Maui 中自绘组件2:可绑定属性 在 Maui 中自绘组件3:事件与命令 在 Maui 中自绘组 ...
- 声网推出首个完整实时合唱解决方案 即将上线“咪哒”全国线下K歌房
4月20日,声网Agora宣布对实时合唱技术方案全面升级,帮助国内知名迷你KTV品牌"咪哒"实现国内首个支持多终端.多人合唱.高音质的完整实时合唱解决方案的落地,结束了国内K歌行业 ...
- 在java中String类为什么要设计成final?Java面试常见问题
2023Java面试题最经典的问题之一了,非常经典的Java基础知识,一定要学会! 在Java中,String类被设计成final,这意味着它的值在创建后不可更改.这是因为字符串在Java中使用广泛, ...
- GaussDB(DWS)运维:导致SQL执行不下推的改写方案
摘要:本文就针对因USING子句的书写方式可能导致MERGE INTO语句的执行不下推的场景,对USING子句的SQL语句进行改写一遍,整个SQL语句可以下推. 本文分享自华为云社区<Gauss ...
- salesforce零基础学习(一百一十六)workflow -> flow浅谈
本篇参考: https://help.salesforce.com/s/articleView?id=sf.migrate_to_flow_tool_considerations_workflow.h ...
- 设计模式(二十八)----综合应用-自定义Spring框架-Spring简单回顾
1 spring使用回顾 自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟. 数据访问层.定义UserDao接口及其子实现类 public ...
- Comic Life - 超棒的漫画制作工具,拥有多种动画模版,创作属于自己的漫画
Comic Life是一个照片编辑器,能够添加各种效果,并基于它们创建漫画.该工具包包括各种各样的模板,可以很容易地将照片放置在工作表上,还有大量各种形状的标注.除了拼贴画上的标注之外,您还可以添加带 ...
- 系统评价——理想点TOPSIS法的R语言实现(五)
TOPSIS 法是一种常用的综合评价方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距.TOPSIS全称Technique for Order Preference by Simi ...
- 在Centos8中默认使用DNF没有使用YUM
1. 检查DNF版本 检查您的系统上安装的DNF版本. # dnf --version 2. 列出启用的DNF仓库 dnf命令中的'repolist'选项将显示您系统中所有启用的仓库. # dnf r ...