您现在的位置是:首页 >技术杂谈 >asp .net core6网站首页技术杂谈

asp .net core6

周伯通* 2023-06-01 08:00:02
简介asp .net core6

目录

1、 Program.cs

2、请求

2.1 FromService

2.2 FromBody

2.3 FromForm

2.4 FromHeader

2.5 FromQuery

3、返回结果

3.1 返回指定类型

3.2 返回IActionResult实例

3.3 返回泛型

3.3.1 建议返回类型

4、日志记录

4.1 log4net日志记录


1、 Program.cs

// 注册抽象和具体实现之间的关系(两个不同的项目相互调用)

builder.Services.AddTransient<Iservice,Serviceimp>();

// 解决中文乱码问题
builder.Services
       .AddControllers(option =>)
       .AddJsonOptions(options =>
            options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.Preserve);

2、请求

2.1 FromService

表示来自IOC容器创建

必然需要IOC容器先注册

如果没有标记【FromService】,默认会认定这个参数是通过调用方传递

标记【FromService】不需要传递参数,由IOC容器提供

[HttpGet() ]

public string FormServiceMethod([FromService] IServiceA _ITServiceA)

{

        

}

2.2 FromBody

从HTTP Body中去搜索这个参数的数据,通常用于取JSON,XML

Get请求 -- 不能访问

请求API,客服端携带的参数为JSON格式,content-type:application/json

2.3 FromForm

Form表单传参

Get请求 -- 不能访问

2.4 FromHeader

Header头信息中收集这个参数的数据,如果客户端通过查询字符串方式传递参数,就是在url地址中去获取值

2.5 FromQuery

URL Query收集这个参数的数据

3、返回结果

3.1 返回指定类型

返回指定类型,如果是对象、int,默认返回JSON格式--经过序列化处理的。

如果是字符串,直接返回字符串;

3.2 返回IActionResult实例

只要是实现了IActionResult接口的,都可以做为返回值

--返回JSON

new JsonResult (object?)

--返回值可以写成

ActionResult<ApiResult<Student>>

3.3 返回泛型

3.3.1 建议返回类型

固定格式

public class ApiResult<T> where T : class

{

        /// <summary>

        /// Api执行成功

        /// </summary>

        public bool Success { get; set }

        /// <summary>

        /// 错误信息

        /// </summary>

        public string? Message { get; set }

        /// <summary>

        /// 结果集

        /// </summary>

        public T? Data { get; set }

}

4、日志记录

4.1 log4net日志记录

1、Nuget引入程序包log4net + Microsoft.Extensios.Logging.Log4Net.AspNetCore

2、准备配置文件【设置为始终复制】

3、植入log4net

builder.Logging.AddLog4Net()

4、注入log对象,写日志

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。