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设计相关推荐

  1. B站云E办Vue+SpringBoot前后端分离项目——MVC三层架构搭建后台项目

    本项目来源B站云E办,笔记整理了项目搭建的过程和涉及的知识点.对于学习来说,不是复制粘贴代码即可,要知其然知其所以然.希望我的笔记能为大家提供思路,也欢迎各位伙伴的指正. 项目前端学习笔记目录 B站云 ...

  2. Vue第三部分(2):Vue-CLI构建前后端分离项目以及打包部署

    通过上一节,我们学习了vue脚手架的相关概念以及构建过程,那么开始我们的前后端项目吧 Vue-CLI构建前后端分离项目 1.项目环境初始化 1.安装 axios vue-axios(记得执行命令要进入 ...

  3. 新手摸爬滚打:vue+springboot前后端分离项目演示(三)——axios实现前后端交互

    导语:路漫漫其修远兮,吾将上下而求索 前篇: 新手摸爬滚打:vue+springboot前后端分离项目演示(一)--vue cli创建vue2项目 新手摸爬滚打:vue+springboot前后端分离 ...

  4. iis cgi 无法使用_ASP.NET Core前后端分离项目使用gitlabci持续集成到IIS

    (给DotNet加星标,提升.Net技能) 转自:饭勺oOcnblogs.com/fanshaoO/p/12054985.html 现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到li ...

  5. crm开源系统 tp框架_八个开源的 Spring Boot 前后端分离项目,一定要收藏!

    点击蓝色字关注我们 前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SS ...

  6. Vue 实现前后端分离项目

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Vue实现前后端分离项目的初体验 经过之前学习的Vue的知识: vue基本指令 vue组件 vue- ...

  7. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 单机版本)

    文章目录 一.软件安装部署 1. 安装jdk 2. mysql8安装部署 3. redis安装 4. nginx 安装部署 5. 克隆项目 二.后端项目 2.1. 修改数据库连接 2.2. 修改Red ...

  8. 最细致的Spring Boot结合Vue前后端分离项目打包部署步骤(搭配Nginx)

    文章目录 前言 一.环境准备 二.SpringBoot项目打jar包 1.1 使用Maven的package插件打包 1.2 上传至Linux服务器 三.Vue项目打包 1.1 修改后台请求地址 1. ...

  9. 利用Docker一键部署若依前后端分离项目详细教程

    本文内容,主要介绍一下,在Linux服务器中如何利用Docker一键部署若依前后端分离项目. 若依前后端分离版本开源地址:https://gitee.com/y_project/RuoYi-Vue 目 ...

  10. React / Vue 前后端分离项目实现微信分享教程

    小编推荐:Fundebug专注于JavaScript.微信小程序.微信小游戏,Node.js和Java实时BUG监控.真的是一个很好用的bug监控费服务,众多大佬公司都在使用. 网上非常多的微信分享例 ...

最新文章

  1. 持续集成之戏说Check-in Dance
  2. python详细安装教程3.7.0-python 3.7.0 安装配置方法图文教程
  3. centos6.5配置linux dhcp
  4. ensp查看历史配置命令_eNSP常用命令
  5. byteofpython.info_byteofpython学习笔记(2)
  6. 使用sstableloader恢复Cassandra Priam备份
  7. 计算机硬件系统一直延用,会计从业资格证考试:会计电算化计算机硬件系统
  8. golang key map 所有_Map的底层实现 为什么遍历Map总是乱序的
  9. 28个Java常用的工具类
  10. BZOJ 3357: [Usaco2004]等差数列( dp )
  11. Element-UI-的登录页面_密码框---Element-UI工作笔记004
  12. laravel字符截断
  13. Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能
  14. 关于origin2019的安装教程
  15. 决策树———用基尼系数建立决策树
  16. matlab图形黎曼几何,黎曼几何是篡改数学概念的几何
  17. 香槟分校计算机科学排名,伊利诺伊大学厄巴纳香槟分校计算机科学computer science专业排名第29名(2020THE泰晤士高等教育世界大学排名)...
  18. 请别再使用 SimpleDateFormat 格式化时间了,DateTimeFormatter 更出色!
  19. JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)...
  20. java.lang.IllegalArgumentException: Result Maps collection already contains value for ciis.zht.model

热门文章

  1. php快照劫持代码,php快照劫持跳转代码,php快照劫持源码下载
  2. python基于神经机器翻译技术的翻译网站实现
  3. 电销机器人百度百科_晓芯智能电话机器人百度百科
  4. [完全版] Windows安装与配置Git cz (commitizen)
  5. 实现流程管理的五个步骤
  6. 串口调试常见问题和排查方法
  7. 看看别人家的神仙公司
  8. 活动|QuarkChain 高TPS悬赏令:看你能有多快!2.4BTC等你拿!
  9. Greek Gods,Roman Gods and Chinese Gods
  10. python高德地图poi点_python3爬虫-高德地图POI数据的爬取