我是靠谱客的博主 烂漫流沙,最近开发中收集的这篇文章主要介绍我的第一个webApi接口,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先要调节路由,路由的位置就是在 app_start文件夹下 的 WebApiconfig下

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

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

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
 
 路由配置方式   

这种模式 仅支持区分进入参数的数据,
比如以下
[HttpGet]
public HttpResponseMessage GetProduct2 (string id)
[HttpGet]
public HttpResponseMessage GetProduct3(string id)
因为其参数 都是Id 接口默认会使用 GetProduct2 ;
如果在不同的control下来实现自定的control方法 则需要 在routeTemplate下加入
即可解决 具体解释为 大家看看我们开始在配置WebAPI的路由规则,规则是api/{controller}/{id} ,也就是说此规则不会去匹配action的名称,而是根据传入的参数类型和个数来决定的。 所以需要在 control下面在指定 action 即可 即为:

 routeTemplate: "api/{controller}/{action}/{id}",//加进去既可分开使用了

创建控制器

    /// <summary>
    /// 签到
    /// </summary>
    /// <returns></returns>
    [HttpGet]
    public HttpResponseMessage SetSign(int Id,string msg)
    {
        
        签到 modle = new 签到();
        string[] strs = msg.Split('_');
        modle.姓名 = strs[0];
        modle.备注 = strs[1];
        modle.时间 = DateTime.Now;
        int a = 0;
        using (SqlConnection con = GetConnection())
        {
            if (con!=null)
            {
                string sql = $"insert 签到 (姓名,备注,时间) values('{modle.姓名}','{modle.备注}','{modle.时间}')";
                SqlCommand command = con.CreateCommand();
                command.CommandText = sql;
                a=  command.ExecuteNonQuery(); 
            }
        }
        HttpResponseMessage result = new HttpResponseMessage();
        result.Content = new StringContent(JsonConvert.SerializeObject(a), Encoding.GetEncoding("UTF-8"), "application/json");
        return result;
    }

   public SqlConnection GetConnection()
    {
        string ConnetStr =   ConfigurationManager.AppSettings["linkSql"]; ;
        SqlConnection conn = new SqlConnection(ConnetStr);
        try
        {
            conn.Open();
            return conn;
        }
        catch (Exception ex)
        {
            return null;
        }
       

    }

其中返回值必须是 HttpResponseMessage 使用 result.Content = new StringContent(JsonConvert.SerializeObject(a), Encoding.GetEncoding(“UTF-8”), “application/json”);进行序列化输出 这样才能使用。

参考文件为:http://www.west999.com/info/html/chengxusheji/delphi/20180617/4167251.html

最后

以上就是烂漫流沙为你收集整理的我的第一个webApi接口的全部内容,希望文章能够帮你解决我的第一个webApi接口所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部