Aspnet Mvc 前后端分离项目手记(三)关于restful 风格Url设计
RESTful 不是新东西,简单理解它的核心思想就是最大程度的利用http协议的一些特点,比如uri,比如请求动词,在前后端分离的项目中会有大大的好处
,好的设计的url简单明了,胜过详细的说明文档。关于介绍Restful的好文章也有很多 http://www.ruanyifeng.com/blog/2014/05/restful_api.html
看几个不错的restful风格的url设计,你就明白什么时restful风格了
1,豆瓣电影
https://movie.douban.com/subject/27179414/?from=showing
编号27179414的项目
编号27179414 电影的演员表 https://movie.douban.com/subject/27179414/celebrities
是不是很明了,一看url就知道他的内容
下面是在asp.net mvc中实践restful 的一点总结 ,项目没有使用webapi
首先,IIS默认是禁止Delete,Put等请求的,如果没有事先配置的话会报404
解决办法一:在web.config中标注module节点 <modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true">
方法二:如果上述方法还是不奏效的话
可以直接在控制面板》》程序或功能》》启用或关闭Windows功能中关闭除WebDev模块
在这里,取消【WebDAV发布】的勾选就行,
启用是路由特性, 使用restful时有时候会自定义一些路由映射, 在RouteConfig中加入 routes.MapMvcAttributeRoutes();
关于路由特性也有一些很详细的文章 https://www.cnblogs.com/zeusro/p/RouteConfig.html
在URL中添加版本号
1 url中要有版本号 比如 https://api.demo.com/v1/controller/action , 也就是说要设置全局的路由
方法一, 添加区域,
方法二, 在IIS添加应用程序
在IIS里面添加网站的时候,不直接添加,二十添加一个空文件夹,然后再在里面添加应用程序
方法三,定义全局路由
定义全局路由, 这篇文章有介绍 https://www.cnblogs.com/savorboard/p/dontnet-IApplicationModelConvention.html
使用http动词来表明来意
分别使用来对应增删改查, url使用小写 ,尽量使用名字而不是动宾短语 比如 获取商品的url /products 要好于 /product/getproduct
post (新增)
put (修改)
delete(删除)
get(查询)
添加一个商品 /product post动词
编辑商品 /product put动词
删除商品 /product delete动词
获取商品列表 /products?page=1&pagesize=50 get动词
获取 ID为1的商品ID为3图片 /product/1/img/3 get动词
设置Id为1的商品价格为2 /product/1/setprice/2 post动词
restful缺点很多,在实际使用过程中其实很难做到完全遵循,这个时候千万不能生搬硬套,他并不是一个硬性的规定,只是一种风格,不用restful或者不严格使用都是完全没有问题的
转载于:https://www.cnblogs.com/wahson2019/p/10861096.html
Aspnet Mvc 前后端分离项目手记(三)关于restful 风格Url设计相关推荐
- B站云E办Vue+SpringBoot前后端分离项目——MVC三层架构搭建后台项目
本项目来源B站云E办,笔记整理了项目搭建的过程和涉及的知识点.对于学习来说,不是复制粘贴代码即可,要知其然知其所以然.希望我的笔记能为大家提供思路,也欢迎各位伙伴的指正. 项目前端学习笔记目录 B站云 ...
- Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署
通过上一节,我们学习了vue脚手架的相关概念以及构建过程,那么开始我们的前后端项目吧 Vue-CLI构建前后端分离项目 1.项目环境初始化 1.安装 axios vue-axios(记得执行命令要进入 ...
- 新手摸爬滚打:vue+springboot前后端分离项目演示(三)——axios实现前后端交互
导语:路漫漫其修远兮,吾将上下而求索 前篇: 新手摸爬滚打:vue+springboot前后端分离项目演示(一)--vue cli创建vue2项目 新手摸爬滚打:vue+springboot前后端分离 ...
- iis cgi 无法使用_ASP.NET Core前后端分离项目使用gitlabci持续集成到IIS
(给DotNet加星标,提升.Net技能) 转自:饭勺oOcnblogs.com/fanshaoO/p/12054985.html 现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到li ...
- crm开源系统 tp框架_八个开源的 Spring Boot 前后端分离项目,一定要收藏!
点击蓝色字关注我们 前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SS ...
- Vue 实现前后端分离项目
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Vue实现前后端分离项目的初体验 经过之前学习的Vue的知识: vue基本指令 vue组件 vue- ...
- RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本)
文章目录 一.软件安装部署 1. 安装jdk 2. mysql8安装部署 3. redis安装 4. nginx 安装部署 5. 克隆项目 二.后端项目 2.1. 修改数据库连接 2.2. 修改Red ...
- 最细致的Spring Boot结合Vue前后端分离项目打包部署步骤(搭配Nginx)
文章目录 前言 一.环境准备 二.SpringBoot项目打jar包 1.1 使用Maven的package插件打包 1.2 上传至Linux服务器 三.Vue项目打包 1.1 修改后台请求地址 1. ...
- 利用Docker一键部署若依前后端分离项目详细教程
本文内容,主要介绍一下,在Linux服务器中如何利用Docker一键部署若依前后端分离项目. 若依前后端分离版本开源地址:https://gitee.com/y_project/RuoYi-Vue 目 ...
- React / Vue 前后端分离项目实现微信分享教程
小编推荐:Fundebug专注于JavaScript.微信小程序.微信小游戏,Node.js和Java实时BUG监控.真的是一个很好用的bug监控费服务,众多大佬公司都在使用. 网上非常多的微信分享例 ...
最新文章
- 持续集成之戏说Check-in Dance
- python详细安装教程3.7.0-python 3.7.0 安装配置方法图文教程
- centos6.5配置linux dhcp
- ensp查看历史配置命令_eNSP常用命令
- byteofpython.info_byteofpython学习笔记(2)
- 使用sstableloader恢复Cassandra Priam备份
- 计算机硬件系统一直延用,会计从业资格证考试:会计电算化计算机硬件系统
- golang key map 所有_Map的底层实现 为什么遍历Map总是乱序的
- 28个Java常用的工具类
- BZOJ 3357: [Usaco2004]等差数列( dp )
- Element-UI-的登录页面_密码框---Element-UI工作笔记004
- laravel字符截断
- Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能
- 关于origin2019的安装教程
- 决策树———用基尼系数建立决策树
- matlab图形黎曼几何,黎曼几何是篡改数学概念的几何
- 香槟分校计算机科学排名,伊利诺伊大学厄巴纳香槟分校计算机科学computer science专业排名第29名(2020THE泰晤士高等教育世界大学排名)...
- 请别再使用 SimpleDateFormat 格式化时间了,DateTimeFormatter 更出色!
- JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
- java.lang.IllegalArgumentException: Result Maps collection already contains value for ciis.zht.model
热门文章
- php快照劫持代码,php快照劫持跳转代码,php快照劫持源码下载
- python基于神经机器翻译技术的翻译网站实现
- 电销机器人百度百科_晓芯智能电话机器人百度百科
- [完全版] Windows安装与配置Git cz (commitizen)
- 实现流程管理的五个步骤
- 串口调试常见问题和排查方法
- 看看别人家的神仙公司
- 活动|QuarkChain 高TPS悬赏令:看你能有多快!2.4BTC等你拿!
- Greek Gods,Roman Gods and Chinese Gods
- python高德地图poi点_python3爬虫-高德地图POI数据的爬取