Java 如何判断HttpURLConnection中是否没有可读取的内容
我目前正在从我创建的REST服务读取数据。返回的数据是Java 如何判断HttpURLConnection中是否没有可读取的内容,java,spring-boot,gson,Java,Spring Boot,Gson,我目前正在从我创建的REST服务读取数据。返回的数据是列表。列表中填充了YAML文件内容,这些内容被提取到一个映射中,然后被添加到列表中 当get调用返回某个内容(即列表对象中有内容)时,我的代码工作正常。当不返回任何内容时,我得到一个java.net.UnknownServiceException:无内容类型 该列表用于填充HTML选择器。如果未返回任何内容,则不应显示选择器。我目前通过捕获异常并继续进行AJAX调用来实现这一点,如下所示。我只是想知道是否有更好的方法(比如检查返回的Input
列表
。列表中填充了YAML文件内容,这些内容被提取到一个映射中,然后被添加到列表中
当get调用返回某个内容(即列表对象中有内容)时,我的代码工作正常。当不返回任何内容时,我得到一个java.net.UnknownServiceException:无内容类型
该列表用于填充HTML选择器。如果未返回任何内容,则不应显示选择器。我目前通过捕获异常并继续进行AJAX调用来实现这一点,如下所示。我只是想知道是否有更好的方法(比如检查返回的InputStream中是否有内容)
URL URL=newurl(“myurl”);
HttpURLConnection请求=(HttpURLConnection)url.openconnection();
request.connect();
试一试{
//解析
JsonParser jp=new.JsonParser();
JsonElement root=jp.parse(新的InputStreamReader((InputStream)request.getContent());
JsonArray unsanitizedMembers=root.getAsJsonArray();
//从输入中删除引号
列表成员=新的ArrayList();
对于(int i=0;i检查内容是否为null
。可能如下所示:
if (request.getContent() != null)
JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
您阅读了内容,但内容是空的?为什么不检查内容是否为null
?@RC。UnknownServiceException的意思是。如果您谈论的是请求。getContent()我无法将其用作检查。if语句生成java.net.UnknownServiceException:无内容-type@Brandon您是否尝试过检查请求。响应代码?
?然后您可以查看它是否为HTTP204。无论是否有内容,响应代码都是200。不过,您让我对这一点充满了希望!
//input YML file
InputStream inputStream = getClass().getClassLoader().getResourcesAsStream("roles.yml");
Yaml yaml = new Yaml();
//convert to map object
Map<String, List<String>> map = (Map<String, List<String>>) yaml.load(inputStream);
//return list of strings
return map.get(role);
if (request.getContent() != null)
JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));