我正在尝试配置一个基于extjs作为前端和Spring作为后端的小应用程序。因此,为了从extjs与服务器通信,我们需要在存储区配置代理编写器。我的代理配置如下所示:
proxy : {
type: 'rest',
reader: {
type: 'json',
idProperty: 'id',
root: 'data',
totalProperty: 'total',
successProperty: 'success',
messageProperty: 'message'
},
writer: {
type: 'json',
allowSingle: true,
writeAllFields: true,
root: 'data'
},
api: {
read: 'countries',
create: 'country/add',
update: 'country/update',
destroy: 'country/delete'
}
}
这是Spring控制器中的@Request estMmap:
@ResponseStatus(value = HttpStatus.OK)
@RequestMapping(value = COUNTRY_PATH + DELETE_PATH + SLASH + DELETE_ID_PARAM, method = RequestMethod.DELETE)
public void delete(@PathVariable(DELETE_ID_PARAM) Integer deleteId, @RequestParam Object data) {
System.out.println(data.toString());
countryService.deleteCountry(deleteId);
}
Tomcat每次回答“400错误请求”时都会使用描述“客户端发送的请求语法不正确”。
所以,但是如果我将代理类型更改为ajax并请求映射以获取POST请求,一切都可以正常工作。
看看你的Tomcat/conf/web.xml你会看到这样的条目:
- <!-- readonly Is this context "read only", so HTTP -->
- <!-- commands like PUT and DELETE are -->
- <!-- rejected? [true]
本质上,允许在服务器上执行put和delete命令是一种典型的错误做法,因为这使任何人都能够进行恶意操作。默认情况下,Tomcat通过关闭这些功能来保护您。
对于restful服务,将放置/删除映射到Post是相当常见的做法
看起来path变量的语法不正确:
应该是这样的
@ResponseStatus(value = HttpStatus.OK)
@RequestMapping(value = COUNTRY_PATH + DELETE_PATH + SLASH + "{" + DELETE_ID_PARAM + "}", method = RequestMethod.DELETE)
public void delete(@PathVariable(DELETE_ID_PARAM) Integer deleteId, @RequestParam Object data) {
System.out.println(data.toString());
countryService.deleteCountry(deleteId);
}
还要确保在webapplication启动时看到一行,如
INFO [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] (MSC service thread 1-4) Mapped "{[/myapp/country/delete],methods=[DELETE],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.myorg.web.MyController.delete(@PathVariable(DELETE_ID_PARAM) Integer deleteId, @RequestParam Object data)
该行确认该方法已注册以处理此url的删除方法。
我正在使用Spring4开发一个RESTful应用程序。我想处理当一个POST请求不包含正文时的情况。我编写了以下自定义异常处理程序: 当它收到一个没有正文的POST时,这些方法不会被调用。相反,客户端得到一个带有400个坏请求HTTP状态和空正文的响应。有人知道怎么处理吗?
这是我用于网络调用的函数。 接口类 收到400个错误请求。 错误日志 任何帮助都将不胜感激。
我有我的api在Django和Django REST框架(DRF)。 这是我的设置文件: 我得到了坏请求(400)错误: 我查看了Chrome的网络选项卡,我得到的是: 在React中,我得到: 问题是什么,错误背后的原因是什么?API正在工作,我以前没有这个错误。
我在想我做错了什么。我收到了400个错误的请求,试图通过角服务发送一个帖子请求。我有两个实体--Document和DocumentCategory(多对多关系)。我可以张贴文件本身(没有类别)没有问题。 正如我所说,如果我删除类别,一切都可以工作。我想不通:( 编辑:当我试图将上面的json作为application/json发送时,Postman显示了这一点作为响应:
我试图通过LinkedIn API上的共享发布一个LinkedIn共享更新,使用PHP库LinkedIn-Client API。我已经成功地授权了该用户,并从该用户那里返回了访问令牌。我将该令牌与这个共享API调用一起使用。下面是我的代码: LinkedIn-Client API在内部使用Guzzle处理HTTP请求。我试图直接使用,而不使用,但是错误相同,没有成功。 致命错误:未捕获的异常“GU
我们有一个公司范围的Nexus 3服务器 拥有我们自己的文物和 用作Maven Central和其他回购的代理。 开发人员使用两个存储库: maven针对所有已发布/稳定的工件发布版本策略“Release”和 版本策略为“快照”的所有快照工件的maven快照 这两个存储库都用于Gradle构建: 现在,当Gradle试图解决快照依赖关系时,它会询问releases存储库,Nexus会用 而构建失败