Directory SharePoint 2016检查文件夹存在500内部服务器错误

Directory SharePoint 2016检查文件夹存在500内部服务器错误,directory,internal-server-error,sharepoint-2016,Directory,Internal Server Error,Sharepoint 2016,我们使用SharePoint 2016存储和检索文件。并使用JavaHttpClient类来实现。现在我们使用下面的API来检查文件夹是否已经存在 String folderURI = "/_api/Web/GetFolderByServerRelativeUrl('" + "/<document library/folderpath>" + "')"; e.g : folderpath = test1/type/2007 如果文件夹已经存在,我会得到200 ok作为响应,这是正

我们使用SharePoint 2016存储和检索文件。并使用JavaHttpClient类来实现。现在我们使用下面的API来检查文件夹是否已经存在

String folderURI = "/_api/Web/GetFolderByServerRelativeUrl('" + "/<document library/folderpath>" + "')";

e.g : folderpath = test1/type/2007

如果文件夹已经存在,我会得到200 ok作为响应,这是正确的。但若文件夹不存在,我将得到500个内部服务器错误。而不是这个,我应该得到404找不到。我错过了什么。为什么对于同一个API,我得到了一个正确的响应(folder present 200 ok)和一个内部服务器错误(folder not present 500)

4xx错误是客户端错误;5xx错误是服务器错误

4xx错误表示您(客户)在提交请求的方式上犯了错误。5xx错误意味着服务器未能完成明显有效的请求

404(未找到页面)的响应表示请求的URI本身无效/当前不存在。如果您试图访问不存在的文件夹的直接路径(而不是通过
/\u api/web/
URI调用web服务),这将是一个有意义的响应

您请求的URI是有效的web服务调用,因此404NotFound不是合适的响应

HttpGet httpget = new HttpGet(finalURL);  
httpget.setHeader("Content-Type", "application/octet-stream");  
httpget.setHeader("X-HTTP-Method", requestMethod);  
httpget.setHeader("Cookie", "rtFa="YqLvkl";FedAuth="uZnxt");

response = httpClient.execute((HttpUriRequest) httpget);
500(内部服务器错误)是表示web服务器在尝试执行操作时遇到错误的一般响应


在这种情况下,错误是由web服务试图检索不存在的文件夹引起的。

hi Thriggle,如果未找到资源(文件夹/文件),则sharepoint响应为404 not found。如果有,200元就可以了。在此之前,我们使用了sharepoint 2013,得到了此响应。但在sharepoint 2016中,文件搜索给出了相同的响应(200404),但文件夹响应不同(200500)。所以你的意思是500是正确的回答??