分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

(七)Net Core项目使用Controller之二

发布时间:2023-09-06 01:52责任编辑:沈小雨关键词:暂无标签

一、简介


 1、说明Post,Get定义的区别。

2、说明如何路由定义。

二、Get、Post定义


1、api不定义访问方式时,同时支持get 和 post。如果定义某种方式,则仅支持某种方式。具体看代码及运行效果。

这里有个知识点,什么时候使用get,什么时候使用post,个人习惯能get则get,不能get则post,至于put,delete,从来不用。

api代码

 ???public class OneController : Controller ???{ ???????[HttpGet] ???????public string GetString(string id) ???????{ ???????????return "get:" + id; ???????} ???????[HttpPost] ???????public string PostString(string id) ???????{ ???????????return "post:" + id; ???????} ???????public string NullString(string id) ???????{ ???????????return "null:" + id; ???????} ???}
View Code

html测试代码

<!DOCTYPE html><html><head> ???<meta charset="utf-8" /> ???<title>示例代码</title> ???<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> ???<script> ???????$(function () { ???????????$.get("one/getstring", { id: "001" }, function (result) { console.log(result) }); ???????????$.post("one/getstring", { id: "001" }, function (result) { console.log(result) }); ???????????$.get("one/poststring", { id: "001" }, function (result) { console.log(result) }); ???????????$.post("one/poststring", { id: "001" }, function (result) { console.log(result) }); ???????????$.get("one/nullstring", { id: "001" }, function (result) { console.log(result) }); ???????????$.post("one/nullstring", { id: "001" }, function (result) { console.log(result) }); ???????}); ???</script></head><body></body></html>
View Code

结果

定义了httpget,则post返回404,定义了httppost则get返回404,不定义则都能访问。

 三、整个Controller定义路由


 1、直接上代码,一看就懂。仔细观察访问路径。

整个Controller定义路由:api代码

1 ????[Route("api/one")]2 ????public class OneController : Controller3 ????{4 ????????[Route("GetString")]5 ????????public string GetString(string id)6 ????????{7 ????????????return "get:" + id;8 ????????}9 ????}
View Code

整个Controller定义路由:html代码

 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("api/one/getstring", { id: "001" }, function (result) { console.log(result) });10 ????????????$.post("api/one/getstring", { id: "001" }, function (result) { console.log(result) });11 ????????});12 ????</script>13 </head><body></body>14 </html>
View Code

整个Controller定义路由:效果

四、单个方法定义路由。


 1、直接上代码,一看就懂。仔细观察访问路径。

api代码

1 ????public class OneController : Controller2 ????{3 ????????[Route("api2/one/getstring")]4 ????????public string GetString(string id)5 ????????{6 ????????????return "get:" + id;7 ????????}8 ????}
View Code

html代码,路径差别

 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("api2/one/getstring", { id: "001" }, function (result) { console.log(result) });10 ????????????$.post("api2/one/getstring", { id: "001" }, function (result) { console.log(result) });11 ????????});12 ????</script>13 </head><body></body>14 </html>
View Code

运行效果

五、既定义路由又定义访问方式


1、直接上代码,一看就懂。仔细观察访问路径。

api代码

1 ????public class OneController : Controller2 ????{3 ????????[HttpGet("api3/one/getstring")]4 ????????public string GetString(string id)5 ????????{6 ????????????return "get:" + id;7 ????????}8 ????}
View Code

html 代码

 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("api3/one/getstring", { id: "001" }, function (result) { console.log(result) });10 ????????????$.post("api3/one/getstring", { id: "001" }, function (result) { console.log(result) });11 ????????});12 ????</script>13 </head><body></body>14 </html>
View Code

运行效果

六、结论


 1、通过以上对比,可以知道,路由的定义有几种方式,并且可以自由组合。

2、另一种是在Startup中定义,见下图。

3、在生产过程中,以上方法几乎不会用到,一般都是用Startup默认路由,因为我们只要一个可以访问的唯一地址而已。

(七)Net Core项目使用Controller之二

原文地址:https://www.cnblogs.com/chenyinxin/p/8990063.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved