怎么写接口地址

1.C#写接口怎么分URL地址给别人用参考using System.Net; using System.Security.Cryptography;using System.IO;using Newtonsoft.Json;namespace CRM.BLL.SalesClue{ public class AddSalesClueLogic { public void PushSaleClueData(string companyUserName,string mobile,string email,string post,string saleClueSource,string companyType) { //AppSecret var AppSecret = "TUSDLFJSJ9877DLJFSLD9999SLDJFS"; var Appid = "51477108"; var access_token = ""; using (var wc = new WebClient()) { var result = wc.DownloadString(string.Format("?appid={0}&secret={1}", Appid, AppSecret)); if (result.Contains("40001")) { return; } access_token = JsonConvert.DeserializeObject(result).access_token; } if (string.IsNullOrEmpty(access_token)) { return; } var Url = string.Format("?access_token={0}", access_token); //模拟数据 var dict = new Dictionary(); //这是一个实体对象,传入的参数 dict.Add("姓名", companyUserName); dict.Add("职务", post); dict.Add("手机", mobile); dict.Add("邮箱",email); dict.Add("公司", companyType); dict.Add("需求来源", saleClueSource); var data = http://www.xuexi88.com/zhishi/JsonConvert.SerializeObject(dict); //数据签名 var sign = Getmd5(data + AppSecret).ToUpper(); try { var PostResutl = Post(Url, data,"application/json", 1000 * 3, Encoding.UTF8, "sign", sign); } catch (Exception ex) { } } public class Token { public string access_token { get; set; } public int expires_in { get; set; } }public static string GetMd5(string inputStr) { byte[] md5Bytes = Encoding.UTF8.GetBytes(inputStr); MD5 md5 = new MD5CryptoServicePRovider(); byte[] cryptString = md5.ComputeHash(md5Bytes); int len; StringBuilder sb = new StringBuilder(); len = cryptString.Length; for (int i = 0; i < len; i++) { sb.Append(cryptString[i].ToString("X2")); } return sb.ToString(); } public static string Post(string url, string data, string contentType, int timeoutMillis, Encoding encoding = null, string RequestKey = null, string RequestValue = http://www.xuexi88.com/zhishi/null) { encoding = encoding ?? Encoding.UTF8; var request = WebRequest.Create(url); request.Method ="POST"; //request.Timeout = timeoutMillis; request.ContentType = contentType; if (!string.IsNullOrEmpty(RequestKey)) { request.Headers.Add(RequestKey, RequestValue); } using (var reqStream = request.GetRequestStream()) { using (var writer = new StreamWriter(reqStream, encoding)) { writer.Write(data); writer.Flush(); writer.Close(); } } using (var response = request.GetResponse()) { using (var stream = response.GetResponseStream()) { if (stream == null) { return string.Empty; } using (var reader = new StreamReader(stream, encoding)) { var s = reader.ReadToEnd(); return s; } } } } }}View Code接收接口的数据 public class HomeController : Controller { // GET: Home [HttpPost] public ActionResult Index() { //分配的AppSerect var AppSerect = "dafsdfaijlasjdfsajfd"; if (string.IsNullOrEmpty(Request.Headers["sign"])) { //不是推送的数据 return null; } var sign = Request.Headers["sign"]; System.IO.Stream s = Request.InputStream; var content = ""; using (var reader = new StreamReader(s, Encoding.UTF8)) { content = reader.ReadToEnd(); }var aydata = http://www.xuexi88.com/zhishi/Newtonsoft.Json.JsonConvert.DeserializeObject(content); if (GetMd5(content + AppSerect) == sign) { //推送的数据 } else { //不是推送的数据 } return Content(content); } 。
2.什么是接口文档,如何写接口,有什么规范首先要有一个文档的标题,XXX接口文档,符合当前文档的说明,文档的生产日期,以及公司名称等 。现在开始写一个dubbo接口文档,定义标题,以及日期,这里公司省略 。使用confluence在线编辑,Confluence为团队提供一个协作环境 。团队成员协同地编写文档和管理项目 。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence实现了资源的共享 。
接下来要有当前文档的版本修订信息,即为历史修订信息,应当包含基础的信息有:版本号、修订日期、修订人、修订说明等 。