我使用 SilverStripe 模块(在这里)编写了一个相当基本的 API。在构建过程中,我使用 Postman 和 Advanced REST Client chrome 扩展程序进行测试,所以我知道这些端点是有效的。
现在,在尝试到达端点(POST json)时,API 告诉我必需的值未设置。我做了一点调查,并比较了来自 Postman 的请求头和使用 Firebug 的 Angular 的请求头。唯一显著的差异是,在 Postman 中,Content-Type 标头为:
API错误提示:"JSON属性
这个会有影响吗?我已经尝试在Postman中在Content-Type结尾添加charset=UTF-8,但仍然收到相同的错误。是否有任何方法可以从Angular POST头中删除charset?
如果需要更多信息,请告诉我,提前致谢!
现在,在尝试到达端点(POST json)时,API 告诉我必需的值未设置。我做了一点调查,并比较了来自 Postman 的请求头和使用 Firebug 的 Angular 的请求头。唯一显著的差异是,在 Postman 中,Content-Type 标头为:
"application/json"
而在 Angular 中为:
"application/json; charset=UTF-8"
这是 Angular POST 的代码(相当基本):notebookFactory.addNotebook = function(title) {
var notebook = "Testing Title 23!";
var message = {
Title: notebook
};
return $http({
url: 'api/notebook',
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: message
});
};
API错误提示:"JSON属性
Title
是必需的"。这个会有影响吗?我已经尝试在Postman中在Content-Type结尾添加charset=UTF-8,但仍然收到相同的错误。是否有任何方法可以从Angular POST头中删除charset?
如果需要更多信息,请告诉我,提前致谢!