C#——创建API接口方法模板

 HttpResponseMessage和HttpRequestMessage的使用

区分get和post请求

using MesApi.Class;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;

namespace MesApi.Controllers
{
    /// 
    /// 
    /// 
    [RoutePrefix("api/Change")]
    public class ConController : ApiController
    {
        /// 
        /// 
        /// jsonData={"sfcNo":"132123","resourceNo":"123123","isMto":"Y"}
        /// 
        [Route("validate_hc")]
        [HttpGet]
        [HttpPost]
        public HttpResponseMessage validate_hc() {
            var response = Request.CreateResponse(HttpStatusCode.OK);
            response.StatusCode = HttpStatusCode.OK;
            try
            {
                string jsonData = string.Empty;
                if (HttpContext.Current.Request.HttpMethod.Equals("GET"))
                {
                    jsonData = HttpContext.Current.Request.QueryString["jsonData"];
                }
                else
                {
                    jsonData = HttpContext.Current.Request.Form["jsonData"];
                }
                JObject jo = (JObject)JsonConvert.DeserializeObject(jsonData);
                string sfcNo = MyJsonObject.optString(jo["sfcNo"]);
                
                //返回OK
                response.Content = new StringContent(Result.SUCCESS);
                return response;
            }
            catch (Exception e) {
                response.Content = new StringContent(Result.error($@"[10]{e.Message}"));
                return response;
            }
        }
    }
}
    public class BaseController : ApiController
    {
        protected HttpResponseMessage JsonResult(JsonResult result)
        {
            var response = Request.CreateResponse(HttpStatusCode.OK);
            response.StatusCode = HttpStatusCode.OK;
            response.Content = new StringContent(JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }));    // 响应内容
            return response;
        }
    }
    public class MyJsonObject
    {

        public static string optString(JToken key)
        {
            if (key == null)
            {
                return "";
            }
            else
            {
                return key.ToString();
            }
        }
    }
public class Result
    {
        public static string SUCCESS = "{\"status\":true}";
        /// 
        /// 返回错误数据
        /// 
        public static string error(string message) {
            return "{\"status\":false,\"errMessage\":[{\"message\":\"" + message + "\"}]}";
        }
        public static string errorMsg(string message)
        {
            return "{\"status\":false,\"Message\":\"" + message + "\"}";
        }
        /// 
        /// 返回错误数据OCV
        /// 
        public static string errorOcv(string message)
        {
            return "{\"status\":false,\"errMessage\":\"" + message + "\"}";
        }

        public static string successMes(string message)
        {
            return "{\"status\":true,\"Message\":\"" + message + "\"}";
        }

        public static string successJson(string message)
        {
            return "{\"status\":true,\"Message\":" + message + "}";
        }
    }
/// 
        /// Ajax结果返回
        /// 
        /// 10:表示成功,20:表示失败
        /// 可放任何数据
        protected JsonResult ReturnAjaxResult(int Result, object Data = null)
        {
            return Json(new { Result = Result, Data = Data }, JsonRequestBehavior.AllowGet);
        }

        protected JsonResult ReturnResult(int Result, string Msg, object Data = null)
        {
            return Json(new { Result = Result, Msg = Msg, Data = Data }, JsonRequestBehavior.AllowGet);
        }

你可能感兴趣的:(c#,开发语言)