如何解决使用get方法从angularjs调用spring boot webservice无法正常工作,并显示500状态错误
我创建了一个Web服务,以将excel文件从服务器位置获取到本地计算机。借助springboot和angularjs。现在我的网址生成良好,但出现500错误。 我的代码如下..
我的Springboot类:
class MyWebserviceClass
{
@RequestMapping(method = RequestMethod.GET,value = "digital_data/{digital_file}",produces = "application/vnd.ms-excel")
public getExcelFileFromServer((HttpServletResponse response,@PathVariable("digital_file") String digital_file) throws IOException {
{
// my download logic will we here
}
AngularJS控制器方法
digitalService.getDigitalData(digital_file).then (function(res) {
var blob = new Blob([res.data],{type: "application/vnd.ms-excel"});
saveDigitalData(blob,digital_file);
},function(errRes) {
$scope.showErrorMessage("Error");
})
};
AngularJS服务层
digitalService
{
function getDigitalData(digital_file) {
var url = 'digital_data/'+file_name;
return $http.get(url,{
transformRequest: angular.identity,headers: {'Content-Type': undefined},responseType:"arraybuffer"
});
}
}
运行此代码后,Web服务URL会正常生成,但是代码无法调用springboot webservice。
生成的URL: http:// localhost:8080 / RMS / digital_data / user_review.xlsx
错误:
{resStatus:-3,appErrorMsg:“找不到可接受的表示形式”}
例外: com.media.MediaController.MyWebservice.getExcelFileFromServer(javax.servlet.http.HttpServletResponse,java.lang.String)抛出java.io.IOException = {[/ digital_data / {digital_file}],methods = [GET],produces = [ application / vnd.ms-excel]}}
请帮助我,因为这是我的第一个网络服务。可能我正在犯一些愚蠢的错误。 很抱歉输入错误...
解决方法
我从URL的文件名中删除了文件扩展名,并将其添加到springboot功能中。 示例:URL将是 http:// localhost:8080 / RMS / digital_data / user_review ,而不是 http:// localhost:8080 / RMS / digital_data / user_review.xlsx 。 。并且它工作正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。