首页 > 其他分享 >WebAPI例子

WebAPI例子

时间:2023-02-17 09:23:53浏览次数:39  
标签:WebAPI return string api System 例子 using public

1.WebApiConfig配置API路由

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace WebAPIDemo1
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服务

            // Web API 路由
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                 //api/controller控制器名/action方法名/id参数名
                 routeTemplate: "api/{controller}/{action}/{id}",

                // routeTemplate: "api/{controller}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

2.配置Global.asax文件中Application_Start

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Routing;

namespace WebAPIDemo1
{
    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
        }
    }
}

 

3.创建PersonController控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPIDemo1.Models;

namespace WebAPIDemo1.Controllers
{
    public class PersonController : ApiController
    {
        #region GET
        // /api/person/Get
        public string[] Get()
        {
            return new string[] { "ru", "qq", "wx" };
        }
        // /api/person/Get?id=
        public string Get(int id)
        {
            return "这是:" + id;
        }
        // /api/person/Get?name=
        public string Get(string name)
        {
            return "姓名:" + name;
        }
        #endregion
        #region Post
        /// <summary>
        /// 参数在地址栏上
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        // /api/person/Post?value=123
        public string Post(string value)
        {
            return "Post请求值" + value;
        }
        /// <summary>
        /// 参数不在地址栏上
        /// </summary>
        /// <param name="value"></param>
        /// <returns>/api/person/Post </returns>
        public string Post([FromBody]BodyValue value)
        {
            return "Post请求值" + value.value;
        } 
        #endregion

        public string Put(int id, [FromBody] string value)
        {
            return "Put请求值:" + value + ",id:" + id;
        }

        public string Delete(int id)
        {

            return "数据id为" + id + "删除成功";
        }
        //[HttpGet]
        [HttpPost]
        // /api/person/Login?Uid=admin&Pwd=123
        public bool Login(string Uid, string Pwd)
        {
            if (Uid == "admin" && Pwd == "123")
                return true;
            else
                return false;
        }

        [HttpGet]
        //入参实体参数FromUri
        //api/person/Login2?Uid=admin&Pwd=456
        public bool Login2([FromUri] UseInfo Model)
        {
            if (Model.Uid == "admin" && Model.Pwd == "123")
                return true;
            else
                return false;
        }
        //Post  表单提交类型application/x-www-form-urlencoded
        //body==>raw==>json==>{"Uid":"admin","Pwd":"123"}
        //api/person/Login3
        [HttpPost]
        public bool Login3([FromBody] UseInfo Model)
        {
            if (Model.Uid == "admin" && Model.Pwd == "123")
                return true;
            else
                return false;
        }

    }
}

4.创建DogController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace WebAPIDemo1.Controllers
{
    [RoutePrefix("api/Test")]
    //第三种/api/Dog/Get
    public class DogController : ApiController
    {
        [HttpGet]
        //[Route("api/Dog/Get888")]第二种/api/Dog/Get888
        //[Route("Get888")] //第一种/api/Test/Get888
        //不加route  /api/Dog/Get888
        public string Get()
        {
            return "Get666";
        }

        [HttpGet]
        [Route("Login/{Uid}/{Pwd}")]
        //加route /api/Test/Login/123/456
        //参数地址化
        public bool Login(string Uid,string Pwd)
        {
            if (Uid == "admin" && Pwd == "123")
                return true;
            else
                return false;
        }
    }
}

 

标签:WebAPI,return,string,api,System,例子,using,public
From: https://www.cnblogs.com/jiangge23/p/17128948.html

相关文章

  • .Net Core WebAPI 序列化时忽略空值字段
    特定实体publicclassAPIResponseModel{///<summary>///返回标识,200:成功,其它:失败///</summary>publicstringCo......
  • .Net6 WebApi中集成FluentValidation.AspNetCore的用法
    一、首先在nuget管理器中添加FluentValidation.AspNetCore包 二、添加验证类并继承AbstractValidator<T>,T为原始参数类,在验证类的构造函数中添加验证内容  三、......
  • .NET6+WebApi+Vue 前后端分离后台管理系统(一)
    概述项目是用的NET6webapi搭建一个前后端分离的后端管理框架,项目分为:表示层、业务层、数据访问层、数据存储层。 Common:公共组件层,存放一些公共的方法。Model:实体Mod......
  • 白嫖一个WebAPI限流解决方案
    什么是API限流:API限流是限制用户在一定时间内API请求数量的过程。应用程序编程接口(API)充当用户和软件应用程序之间的网关。例如,当用户单击社交媒体上的发布按钮时,......
  • uni-app:配置底部tabbar的例子(hbuilderx 3.6.18)
    一,官网文档地址:https://uniapp.dcloud.net.cn/collocation/pages.html#tabbar如图:说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architec......
  • 面向接口编程的一个小例子
    注:本文重在强调面向接口编程,而非如何防止SQL注入。今天,在做项目时,需要增加对SQL语句的检测功能,即防止SQL注入的问题。首先想到的是写一个工具类来完成SQL......
  • c语言中调用sve函数的例子
    c语言中调用sve函数(ArmCLanguageExtensionsforSVE)PDFsve.c#include<arm_sve.h>#include<stdio.h>#include<stdlib.h>#include<time.h>#defineARRAYSIZE......
  • vue中静态数据怎么分页(以el-table为例子)
    背景:从别处选择一些数据在界面上用列表展示,列表为静态数据,故需要做分页处理。解决方案:Array.prototype.slice()截取数据,slice(begin,end),从begin开始到end结束,不包括end,返......
  • elasticsearch使用painless的一些简单例子
    目录1、背景2、准备数据2.1mapping2.2插入数据3、例子3.1(update)更新文档id=1的文档,将age加2岁3.2(update_by_query)如果province是北京的话,就将age减少1岁3......
  • 关于netcore webapi 前后端分离跨域配置
    最近做一个后台管理系统,但是期间遇到了跨域的问题,所以在此记录一下。这些问题都是很初级的基础知识。后台配置需要先配置指定域名跨域,这也是为了防止安全。一、关于netco......