Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何判断HttpURLConnection中是否没有可读取的内容_Java_Spring Boot_Gson - Fatal编程技术网

Java 如何判断HttpURLConnection中是否没有可读取的内容

Java 如何判断HttpURLConnection中是否没有可读取的内容,java,spring-boot,gson,Java,Spring Boot,Gson,我目前正在从我创建的REST服务读取数据。返回的数据是列表。列表中填充了YAML文件内容,这些内容被提取到一个映射中,然后被添加到列表中 当get调用返回某个内容(即列表对象中有内容)时,我的代码工作正常。当不返回任何内容时,我得到一个java.net.UnknownServiceException:无内容类型 该列表用于填充HTML选择器。如果未返回任何内容,则不应显示选择器。我目前通过捕获异常并继续进行AJAX调用来实现这一点,如下所示。我只是想知道是否有更好的方法(比如检查返回的Input

我目前正在从我创建的REST服务读取数据。返回的数据是
列表
。列表中填充了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()));