Skip to content

Commit eef07a8

Browse files
author
JuuZoop
committed
Added an additional null check to prevent java.lang.NullPointerException on certain OpenAPI3 yaml files that have success responses but no response content.
"java.lang.NullPointerException: Cannot invoke "io.swagger.v3.oas.models.media.Content.entrySet()" because the return value of "io.swagger.v3.oas.models.responses.ApiResponse.getContent()" is null at org.apiaddicts.apitools.openapi2soapui.model.SoapUIProject.setRequestMediaType(SoapUIProject.java:596) ~[classes/:na]" For example converting a following valid petstore yaml would result to a null pointer exception error without this fix: https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
1 parent b62a5a4 commit eef07a8

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/main/java/org/apiaddicts/apitools/openapi2soapui/model/SoapUIProject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ private void setRequestMediaType(RestRequest restRequest, Operation operation) {
593593
Set<String> successResponsesCodes = operation.getResponses().keySet().stream().filter(s -> s.startsWith("2")).collect(Collectors.toSet());
594594
if (!successResponsesCodes.isEmpty()) {
595595
ApiResponse succesResponse = operation.getResponses().get(successResponsesCodes.iterator().next());
596-
if (succesResponse.getContent().entrySet() != null && !succesResponse.getContent().entrySet().isEmpty()) {
596+
if (succesResponse.getContent() != null && succesResponse.getContent().entrySet() != null && !succesResponse.getContent().entrySet().isEmpty()) {
597597
String mediaTypeStr = succesResponse.getContent().entrySet().iterator().next().getKey();
598598
restRequest.setMediaType(mediaTypeStr);
599599
}

0 commit comments

Comments
 (0)