WebApi开发框架V3.0 - Hello World 接口实现


webapi框架v3开发教程-开发框架文库

开发流程

Hello World接口实现

 

一、创建模型 (Model)

在 CSFramework.WebApi.Models 模块 新建一个 HelloWord类。

C# 全选
  public class HelloWorld
    {
        public string Name { get; set; }
    }

 

二、创建接口 (Interface)

在 CSFramework.WebApi.Interfaces 模块 新建一个 IHelloWord接口,作为业务逻辑层的接口。

C# 全选
 public interface IHelloWorld
    {
        HelloWorld SayHello();
    }

 

三、实现接口(创建Business业务层)

在 CSFramework.WebApi.Biz 模块 新建一个 HelloWorldBusiness类,实现 IHelloWord接口,以及依赖注入接口:ITransientDependency

C# 全选
 /// <summary>
    /// HelloWorld业务逻辑层,必须实现依赖注入接口
    /// </summary>
    public class HelloWorldBusiness : IHelloWorld, ITransientDependency
    {
        public HelloWorld SayHello()
        {
            return new HelloWorld
            {
                Name = "Hello! www.csframework.com"
            };
        }
    }

 

四、新建控制器 (Controller)

在 CSFramework.WebApi 模块 新建一个 HelloWorld 控制器。

Hello World接口实现

 

Hello World接口实现

 

Hello World接口实现

 

注意:HelloWorld后面必须加上Controller,完整名称是HelloWorldController。

 

控制器生成的默认代码,不可使用!

C# 全选
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace CSFramework.WebApi.Controllers.Demo
{
    public class HelloWorldController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
}

 

实现控制器

Hello World接口实现

  • 继承 _BaseController 基类
  • 增加 [ApiController] 特性定义
  • 增加 [Route] 路由特性定义
  • 构造器实现业务逻辑层接口依赖注入
  • 实现SayHello接口

参考代码 (WebApi框架控制器实现标准)

C# 全选
using CSFramework.WebApi.Interfaces.Demo;
using CSFramework.WebApi.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace CSFramework.WebApi.Controllers.Demo
{
    [ApiController]
    [Route("api/[controller]/[action]")]    
    public class HelloWorldController : _BaseController
    {
        IHelloWorld _business;

        //依赖注入
        public HelloWorldController(IHelloWorld business)
        {
            _business = business;
        }

        [AllowAnonymous]
        [HttpGet]
        public HelloWorld SayHello()
        {
            return _business.SayHello();
        }

    }
}

 

注:该接口使用HttpGet方式,并且允许匿名认证  [AllowAnonymous] 。

 

五、运行程序,使用IIS Express运行

 

IE输入URL地址

Hello World接口实现

Swagger测试接口

Hello World接口实现

 

 

六、实现 HttpPost 接口

 

6.1 接口扩展方法

C# 全选
 public interface IHelloWorld
    {
        HelloWorld SayHello();
        HelloWorld SayHello(HelloWorld input);
    }

 

6.2 业务逻辑层扩展方法

C# 全选
using CSFramework.WebApi.Core.Interfaces;
using CSFramework.WebApi.Interfaces.Demo;
using CSFramework.WebApi.Models;

namespace CSFramework.WebApi.Biz._Demo
{
    /// <summary>
    /// HelloWorld业务逻辑层,必须实现依赖注入接口
    /// </summary>
    public class HelloWorldBusiness : IHelloWorld, ITransientDependency
    {
        public HelloWorld SayHello()
        {
            return new HelloWorld
            {
                Name = "Hello! www.csframework.com"
            };
        }

        public HelloWorld SayHello(HelloWorld input)
        {
            return new HelloWorld
            {
                Name = "Hello!" + input.Name
            };
        }

    }
}

 

6.3 控制器扩展方法

 

C# 全选
using CSFramework.WebApi.Interfaces.Demo;
using CSFramework.WebApi.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace CSFramework.WebApi.Controllers.Demo
{
    [ApiController]
    [Route("api/[controller]/[action]")]
    public class HelloWorldController : _BaseController
    {
        IHelloWorld _business;

        //依赖注入
        public HelloWorldController(IHelloWorld business)
        {
            _business = business;
        }

        [AllowAnonymous]
        [HttpGet]
        public HelloWorld SayHello()
        {
            return _business.SayHello();
        }

        [AllowAnonymous]
        [HttpPost]
        public HelloWorld SayHelloByPost(HelloWorld input)
        {
            return _business.SayHello(input);
        }

    }
}

 

6.4 Swagger测试

 

Hello World接口实现

 

Hello World接口实现

 

 

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

WebApi开发框架V3.0 - Hello World 接口实现
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
WebApi开发框架V3.0 - Api_User表增加客户标识
C/S架构软件开发平台旗舰版V6.0-WebApi新增接口
CSFramework.WebApi开发框架V3.0 (.NETCore+EFCore) - 客户交接文件清单
原创文章:WebApi接口开发实例,搭建和部署WebApi接口
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)
CSFramework.WebApi开发框架模拟Web用户端登录、调用WebApi接口增删改查数据
基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现
C#仿QQ聊天程序v1.0(IConnectionList接口实现)
Winform调用WebApi接口实现增删改查CRUD实例源码
CSFramework.WebApi快速开发框架|APP后端开发框架 v2.0
《CS框架V3.0开发环境配置和部署》
WebApi开发框架:使用HttpGet方式调用WebAPI接口
Demo调用WebApi接口 - CSFramework.WebApi后端开发框架
CSFramework.WebApiV3.快速开发指导
CSFramework.WebApiV3.快速开发指导
CSFramework.WebApi时钟定时作业异步处理程序(IThreadHandler接口)实现
C# C/S系统开发框架高级版V3.0正式发布!