(十)Net Core项目使用Cookies (八)Net Core项目使用Controller之三-入参

时间:2022-09-16 09:53:38

(十)Net Core项目使用Cookies

一、简介


1、Net Core可以直接使用Cookies,但是调用方式有些区别。

2、Net Core将Request和Response分开实现。

二、基本读写Cookies操作


1、写一个基本的读写操作Api,代码如下。

2、第一次访问,看效果。

3、第二次访问,看效果。

api代码

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参
    public class OneController : Controller
    {
        public string GetString(string id)
        {
            Request.Cookies.TryGetValue("one", out string outOne);
            string val = Guid.NewGuid().ToString();
            Response.Cookies.Append("one", val);
            return string.Format("old:{0};new:{1}", outOne, val);
        }
    }
(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

第一次效果

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

第二次效果

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

与预期一致

三、结论


1、Net Core使用Cookies没有什么特别。

BitAdminCore框架作者。 框架演示:http://bit.bitdao.cn 框架使用:https://github.com/chenyinxin/cookiecutter-bitadmin-core 框架交流:QQ群202426919
 
 
 

(八)Net Core项目使用Controller之三-入参

一、简介


1、本节主要说明入参的几种接收方式

二、不限定模式


1、定义一个id入参与一个model入参。

2、get\post分别查看访问效果。

api代码

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参
 1     public class OneController : Controller
 2     {
 3         public string GetString(string id, Model model)
 4         {
 5             return string.Format("getid:{0},model(id:{1},name:{2})", id, model.ID, model.Name);
 6         }
 7     }
 8     public class Model
 9     {
10         public string ID { get; set; }
11         public string Name { get; set; }
12     }
(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

html代码,前篇的代码

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8" />
 5     <title>示例代码</title>
 6     <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 7     <script>
 8         $(function () {
 9             $.get("one/getstring", { id: "001" }, function (result) { console.log(result) });
10             $.post("one/getstring", { id: "001" }, function (result) { console.log(result) });
11         });
12     </script>
13 </head><body></body>
14 </html>
(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

运行效果

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

 三、限定模式


1、model入参添加FromForm限定

2、分别查看get,post的访问结果

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

 四、其它限定模式


1、netcore提供6种不同的限定模式,具体有什么含义。有http协议知识基础一看便懂,如果没有则需要先补充http协议知识。

(十)Net Core项目使用Cookies   (八)Net Core项目使用Controller之三-入参

 五、结论


1、一般情况下开发过程不会对参数进行限定,除非有特定要求。这是增加工作量又没业务意义的事。

2、api方法入参支持普通类型,对象类型,根据业务需要灵活选择。对象类型免去取值付值代码。

BitAdminCore框架作者。 框架演示:http://bit.bitdao.cn 框架使用:https://github.com/chenyinxin/cookiecutter-bitadmin-core 框架交流:QQ群202426919