博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【WEBAPI】常用参数传递方法总结
阅读量:7065 次
发布时间:2019-06-28

本文共 5085 字,大约阅读时间需要 16 分钟。

本部分纯属代码,如有疑问,请参考之前的BLOG文章

一、C#部分

1.1 实体类

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Runtime.Serialization;using Newtonsoft.Json;namespace TestOauth.Models{    //[Serializable]    [DataContract]    //[JsonObject(MemberSerialization.OptIn)]    public class OAuthModels    {        public OAuthModels()        {        }        //[DataMember]        [JsonIgnore]        public string ID        {            get;            set;        }        //[JsonProperty(PropertyName = "oauth_consumer_key", NullValueHandling = NullValueHandling.Ignore)]        [DataMember(Name = "oauth_consumer_key")]        public string Consumer_key        {            get;            set;        }        [JsonIgnore]        public string Consumer_secret        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_signature_method", NullValueHandling = NullValueHandling.Ignore)]        public string Signature_method        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_timestamp", NullValueHandling = NullValueHandling.Ignore)]        public string Timestamp        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_nonce", NullValueHandling = NullValueHandling.Ignore)]        public string Nonce        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_signature", NullValueHandling = NullValueHandling.Ignore)]        public string Signature        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_token", NullValueHandling = NullValueHandling.Ignore)]        public string Token        {            get;            set;        }        [JsonProperty(PropertyName = "oauth_token_secret", NullValueHandling = NullValueHandling.Ignore)]        public string Token_secret        {            get;            set;        }    }}

 

1.2 ACTION方法

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;using TestOauth.Models;using Newtonsoft.Json.Linq;namespace TestOauth.Controllers{    public class WebAPITestController : ApiController    {        [HttpGet]        public string TestGet()        {            return "HelloWorld";        }        [HttpGet]        public OAuthModels TestGetString(string model)        {            OAuthModels d = Newtonsoft.Json.JsonConvert.DeserializeObject
(model); d.Token = "requestkey"; d.Token_secret = "requestsecret"; return d; } [HttpPost] public OAuthModels TestPOSTString([FromBody]string model) { OAuthModels d = Newtonsoft.Json.JsonConvert.DeserializeObject
(model); d.Token = "requestkey"; d.Token_secret = "requestsecret"; return d; } [HttpPost] public OAuthModels TestPOSTModel([FromBody]OAuthModels model) { model.Token = "requestkey"; model.Token_secret = "requestsecret"; return model; } ///
/// didn't support this method /// ///
///
///
[HttpPost] public OAuthModels TestMultipleWithWrongMethod([FromBody]OAuthModels model, string userToken) { model.Token = "requestkey"; model.Token_secret = "requestsecret"; return model; } [HttpPost] public OAuthModels TestMultipleWithJObject(Newtonsoft.Json.Linq.JObject jobj) { dynamic d = jobj; JObject oauthModel = d.model; JObject oauthModel2 = d.model2; string token = d.userToken; var model = oauthModel2.ToObject
(); model.Token = "requestkey"; model.Token_secret = "requestsecret"; return model; } [HttpPost] public OAuthModels MyAction(HttpRequestMessage request) { // make explicit calls to get parameters from the request object int id = int.Parse(request.RequestUri.ParseQueryString().Get("id")); // need error logic! OAuthModels model = request.Content.ReadAsAsync
().Result; // should be async! // Now use id and customer model.Token = "requestkey"; model.Token_secret = "requestsecret"; return model; } }}

 

 

二、HTML部分

    TestCase                

Passing single Parameters to a Web API Controller

测试 单一参数POST STRING 类型

测试 单一参数GET STRING 类型

测试 Test POST Model

Passing multiple Parameters to a Web API Controller

测试 多个参数 类型

 

 

三、JS部分

 

四、输出

 

 

 

转载于:https://www.cnblogs.com/taoqianbao/archive/2013/02/25/2931809.html

你可能感兴趣的文章
hdu 1829 A Bug's Life(并查集)
查看>>
每日英语:Chinese Writer Wins Literature Nobel
查看>>
java中三种主流数据库数据库(sqlserver,db2,oracle)的jdbc连接总结
查看>>
Oracle Apps AutoConfig
查看>>
[leetcode]Flatten Binary Tree to Linked List
查看>>
css颜色代码大全:(网页设计师和平面设计师常用)
查看>>
boost 1.52在windows下的配置
查看>>
素材锦囊——50个高质量的 PSD 素材免费下载《上篇》
查看>>
【转】oc中消息传递机制-附:对performSelector方法的扩充
查看>>
oracle的nvl和sql server的isnull
查看>>
[转]虚拟机下Ubuntu共享主机文件(Ubuntu、VMware、共享)
查看>>
高血压 治疗 偏方
查看>>
HtmlAttribute HTML属性处理类
查看>>
[书目20130316]jQuery UI开发指南
查看>>
Sql Server系列:开发存储过程
查看>>
Find INTCOL#=1001 in col_usage$?
查看>>
AutoCAD 命令统计魔幻球的实现过程--(3)
查看>>
dp学习笔记1
查看>>
newlisp debugger
查看>>
Java进阶02 异常处理
查看>>