masastack / MASA.Template

Apache License 2.0
17 stars 9 forks source link

feat: Masa Framework new Templates #27

Closed MapleWithoutWords closed 1 year ago

MapleWithoutWords commented 1 year ago

masafxs

参数说明:

基本使用:

 dotnet new masafxs # 默认会包含swagger
 dotnet new masafxs --UseSwagger false # 取消使用swagger

masafxsp

参数说明:

zhenlei520 commented 1 year ago

EFCore而不是EF

zhenlei520 commented 1 year ago

模版参数应该使用小写代替大写,例如:

--no-example

--database (简写:-db)

--use-swagger


masafxs不容易记录,建议使用: masafx-webapi masafxsp: 推荐使用:masafx-webapi-cqrs

虽然相比较更长,但更具有实际意义,容易记忆 @doddgu @MapleWithoutWords

MapleWithoutWords commented 1 year ago

@zhenlei520 模板参数: 这个参数简写我们无法控制,这个是我参数改成小写开头的变化。除非我们使用dotnet tool就可以自定义指令 image

zhenlei520 commented 1 year ago

image

doddgu commented 1 year ago

无法控制的缩写是因为没自定义提供shortname吧? 另外longname使用完整的我没意见

MapleWithoutWords commented 1 year ago

无法控制的缩写是因为没自定义提供shortname吧? 另外longname使用完整的我没意见 参数问题已经解决了,模板名称确定下 masafxs不容易记录,建议使用: masafx-webapi masafxsp: 推荐使用:masafx-webapi-cqrs

这两个模板名称,按照磊哥的来吗 @doddgu

doddgu commented 1 year ago

写完整我没意见,但我们不是webapi吧

zhenlei520 commented 1 year ago

写完整我没意见,但我们不是webapi吧

MinimalAPIs的本质上也是webapi

doddgu commented 1 year ago

写完整我没意见,但我们不是webapi吧

MinimalAPIs的本质上也是webapi

s -> service,本质上都是服务,服务再分类型web api还是minimal api,目前只提供了minimal api

zhenlei520 commented 1 year ago

写完整我没意见,但我们不是webapi吧

MinimalAPIs的本质上也是webapi

s -> service,本质上都是服务,服务再分类型web api还是minimal api,目前只提供了minimal api

在微软提供的webapi的模版中,minimal-apis是其中一个参数

dotnet new webapi -h
ASP.NET Core Web API (C#)
作者: Microsoft
描述: 用于创建包含 RESTful HTTP 服务示例控制器的 ASP.NET Core 应用程序的项目模板。此模板还可以用于 ASP.NET Core MVC 视图和控制器。

Usage:
  dotnet new webapi [options] [模板选项]

Options:
  -n, --name <name>       正在创建的输出名称。如未指定名称,则使用输出目录的名称。
  -o, --output <output>   要放置生成的输出的位置。
  --dry-run               如果运行给定命令行将导致模板创建,则显示将发生情况的摘要。
  --force                 强制生成内容 (即使它会更改现有文件)。
  --no-update-check       在实例化模板时,禁用对模板包更新的检查。
  --project <project>     应用于上下文评估的项目。
  -lang, --language <C#>  指定要实例化的模板语言。
  --type <project>        指定要实例化的模板类型。

模板选项:
  -au, --auth <None|IndividualB2C|...>     要使用的身份验证类型
                                           类型: choice
                                             None           无身份验证
                                             IndividualB2C  使用 Azure AD B2C 进行个人身份验证
                                             SingleOrg      单个租户的组织身份验证
                                             Windows        Windows 身份验证
                                           默认: None
  --aad-b2c-instance <aad-b2c-instance>    要连接到的 Azure Active Directory B2C 实例(与 IndividualB2C 身份验证一起使用)。
                                           类型: string
                                           默认: https://qualified.domain.name.b2clogin.com/
  -ssp, --susi-policy-id <susi-policy-id>  此项目的登录和注册策略 ID (与 IndividualB2C 身份验证一起使用)。
                                           类型: string
                                           默认: b2c_1_susi
  --aad-instance <aad-instance>            要连接到的 Azure Active Directory 实例(与 SingleOrg 身份验证一起使用)。
                                           类型: string
                                           默认: https://login.microsoftonline.com/
  --client-id <client-id>                  此项目的客户端 ID (与 SingleOrg 或 IndividualB2C 身份验证一起使用)。
                                           类型: string
                                           默认: 11111111-1111-1111-11111111111111111
  --domain <domain>                        目录租户的域(与 SingleOrg 或 IndividualB2C 身份验证一起使用)。
                                           类型: string
                                           默认: qualified.domain.name
  --default-scope <default-scope>          客户端预配访问令牌需要请求的 API 范围。(与 IndividualB2C、SingleOrg 一起使用)。
                                           类型: string
                                           默认: access_as_user
  --tenant-id <tenant-id>                  要连接到的目录的 TenantId ID (与 SingleOrg 身份验证一起使用)。
                                           类型: string
                                           默认: 22222222-2222-2222-2222-222222222222
  -r, --org-read-access                    是否允许此应用程序对目录进行读取访问(仅适用于 SingleOrg 身份验证)。
                                           类型: bool
                                           默认: false
  --exclude-launch-settings                是否在生成的模板中排除 launchSettings.json。
                                           类型: bool
                                           默认: false
  --no-https                               是否禁用 HTTPS。仅当 IndividualB2C、SingleOrg 或 MultiOrg 不用于 --auth 时, 此选项才适用。
                                           类型: bool
                                           默认: false
  -uld, --use-local-db                     是否使用 LocalDB 而不是 SQLite。仅当指定了 --auth Individual 或 --auth IndividualB2C
                                           时,此选项才适用。
                                           类型: bool
                                           默认: false
  -minimal, --use-minimal-apis             是否使用最小 API 而不是控制器。
                                           类型: bool
                                           默认: false
  -f, --framework <net8.0|net7.0|...>      项目的目标框架。
                                           类型: choice
                                             net8.0         目标 net8.0
                                             net7.0         目标 net7.0
                                             net6.0         Target net6.0
                                             netcoreapp3.1  Target netcoreapp3.1
                                           默认: net8.0
  --no-restore                             如果指定,则在创建时跳过项目的自动还原。
                                           类型: bool
                                           默认: false
  --called-api-url <called-api-url>        要从 Web 应用调用的 API 的 URL。仅当指定了 --auth SingleOrg 或 --auth IndividualB2C
                                           时,此选项才适用。
                                           类型: string
                                           默认: https://graph.microsoft.com/v1.0
  --calls-graph                            指定 Web 应用是否调用 Microsoft Graph。仅当指定了 --auth SingleOrg 时,此选项才适用。
                                           类型: bool
                                           默认: false
  --called-api-scopes <called-api-scopes>  请求从 Web 应用调用 API 的范围。仅当指定了 --auth SingleOrg 或 --auth IndividualB2C 时,此选项才适用。
                                           类型: string
                                           默认: user.read
  --no-openapi                             禁用 OpenAI (Swagger)支持
                                           类型: bool
                                           默认: false
  --use-program-main                       是否生成显式程序类和主方法,而不是顶级语句。
                                           类型: bool
                                           默认: false

要查看有关其他模板语言(F#)的帮助,请使用 --language 选项:
   dotnet new webapi -h --language F#
doddgu commented 1 year ago

image

MapleWithoutWords commented 1 year ago

@doddgu @zhenlei520 那我们两个模板名称就叫:masafx-servicemasafx-service-cqrs

zhenlei520 commented 1 year ago

@doddgu @zhenlei520 那我们两个模板名称就叫:masafx-servicemasafx-service-cqrs

masafx-service-cqrs If this is the name, cqrs is a must, not an optional parameter

MapleWithoutWords commented 1 year ago

@doddgu @zhenlei520 那我们两个模板名称就叫:masafx-servicemasafx-service-cqrs

masafx-service-cqrs If this is the name, cqrs is a must, not an optional parameter

cqrs is a must

zhenlei520 commented 1 year ago

@doddgu @zhenlei520 那我们两个模板名称就叫:masafx-servicemasafx-service-cqrs

masafx-service-cqrs If this is the name, cqrs is a must, not an optional parameter

cqrs is a must

00532065