文档章节

Restful 经常会遇到的HTTP状态码

learn_more
 learn_more
发布于 2016/05/06 09:48
字数 751
阅读 231
收藏 7


1、405 Method Not Allowed

请求方式错误,比如服务端约定PUT请求,结果客户端采用了GET;

我的项目中是这样的,访问的服务真实存在,但是用PUT,POST访问的url是不存在的,所以出现这样的问题,就是访问的IP写成了别人的了。


2、415 Unsupported Media Type

请求的Content-Type 错误,对于GET请求没有限制,但是对于其他请求方式,尤其是POST,则必须使用 ContentType:"application/json" ; 另外 dataType 是服务端返回类型,最好不要指定。

这里还有一点需要注意,那就是服务端会采用 @RequestBody来获取参数,因为 RestController默认把 @RequestBody和@ResponseBody作为JSON处理,所以需要采用JSON格式接收

contentType:"application/json"

3、400 Bad Request

表示请求报文中存在语法错误

这个是和415有关联的,因为415必须指定请求给服务端的数据类型,如果指定了为"application/json" , 那么使用ajax发送数据是即data参数必须为json格式的字符串

JSON.stringify(obj) ; 不能使用$('form').serialize();原因就是这个方法内部使用了 $.param(obj)把参数转为 url的参数了,而且还进行了特殊字符转码,需要使用decodeURIComponent解码,jquery还把空格转为了+号

data:JSON.stringify(obj)


4、403 Forbidden

就我的工程中是因为,Controller里面新增了delete方法,但是没有重启就直接前台ajax 调用 delete,换句话说如果没有对应的方法就直接访问,就会出现这个 403,其实 404 与之不同的是估计就是请求方式的不同导致的,所以,只要重启项目就OK了。


5、413 Request Entity Too Large

Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)

发送POST请求数据时,由于表单数据太大,导致发生了一个客户端错误,如果有web服务器,比如Nginx那么是可以调节上传的数据的大小来解决这个问题,或者是可以把请求的参数变小。


6、302 Found 

应该是访问的URL地址和静态资源的文件夹路径冲突了,静态资源地址的文件夹也是。

临时性重定向,该状态码表示请求的资源已经被分配了新的URI,希望用户本次能使用新的URI访问。


7、401 Authentication is possible but has failed

表示发送的请求需要有通过HTTP验证的认证信息,这个就是在使用SVN时,在浏览器打开需要用户输入用户名和密码。


8、404 Not Found

表示资源不存在,很可能是客户端URL地址写错了


图例:

© 著作权归作者所有

共有 人打赏支持
learn_more
粉丝 92
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
RESTful 接口设计开发规范

API 接口可以说是软件开发人员的用户界面,API 设计也是系统架构的重要环节。尤其对复杂和分布式系统而言,其设计的好坏,直接影响着整个系统的设计,实现和演进。一套糟糕的 API 设计也会严...

garyond
07/23
0
0
我们必须要知道的RESTful服务最佳实践

看过很多RESTful相关的文章总结,参齐不齐,结合工作中的使用,非常有必要归纳一下关于RESTful架构方式了,RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不...

操张林
06/07
0
0
RestFul的一些注意事项和接口开发规范

曾应领导要求,给同事讲restful,由于之前没有认真做过总结,漏掉了好多,自我感觉一塌糊涂。今天在公众号偶然看到了一篇总结,豁然开朗,为防止走丢,搬了过来。 正文内容 从开始学习PHP到现...

郑宗强
08/01
0
0
利用 Spring Boot 设计风格良好的Restful API及错误响应

一、前言 网上经常会看到一些文章,旨在介绍如何使用Spring MVC或Spring Boot实现Restful接口,譬如: 对于如上实现方式,本人着实不敢恭维。试问,这算哪门子的Restful?自认为其与Restful...

宅楠军
07/05
0
0
RESTful实践:如何设计API的错误消息

现有状况 发现很多RESTful API的错误代码都是用HTTP的状态码(Status Code)作为API的错误代码,公司的一些产品也是如此,如下图所示:![在此输入图片描述][1]![在此输入图片描述][2] 这种设计...

狐狸糊涂
2015/03/04
0
4

没有更多内容

加载失败,请刷新页面

加载更多

走上真正的教育之路——《中国最美的语文》读后感3100字

走上真正的教育之路——《中国最美的语文》读后感3100字: 文:张平。《中国最美的语文》,乍一听,你可能会觉得这个作者或者编辑有些大言不惭,竟然起这么大而狂的名字,可能名不副实。我没...

原创小博客
19分钟前
1
0
tomcat线程模型

Connector结构 BIO模式 NIO模式

grace_233
40分钟前
2
0
Javascript

变量定义 以$,_,字母开头 大小写敏感 var 关键字声明变量 声明未赋值undefined 数据类型 字符串,数字,布尔,数组,NULL,undefined 变量均为对象 函数 无默认值 var声明的是局部变量 函数外声明...

关元
41分钟前
1
0
文件系统、服务、防火墙、SELINUX——安全四大金刚

一提到安全,大家都会想到防火墙,和文件系统权限。而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别。我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个...

Linux就该这么学
43分钟前
3
0
从源码角度理解Java设计模式——门面模式

一、门面模式介绍 门面模式定义:也叫外观模式,定义了一个访问子系统的接口,除了这个接口以外,不允许其他访问子系统的行为发生。 适用场景:子系统很复杂时,增加一个接口供外部访问。 优...

我叫刘半仙
52分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部