Skip to content

Commit e6f52f8

Browse files
committed
Merge branch 'master' of github.com:swagger-api/swagger-core
2 parents 34309f5 + a51262b commit e6f52f8

File tree

4 files changed

+44
-2
lines changed

4 files changed

+44
-2
lines changed

modules/swagger-core/src/main/java/io/swagger/util/ReflectionUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public static boolean isConstructorCompatible(Constructor<?> constructor) {
145145
* @return list of Fields
146146
*/
147147
public static List<Field> getDeclaredFields(Class<?> cls) {
148-
if (cls.equals(Object.class)) {
148+
if (cls == null || Object.class.equals(cls)) {
149149
return Collections.emptyList();
150150
}
151151
final List<Field> fields = new ArrayList<Field>();

modules/swagger-core/src/test/java/io/swagger/ReflectionUtilsTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.swagger.annotations.ApiOperation;
44
import io.swagger.annotations.ApiResponses;
55
import io.swagger.reflection.Child;
6+
import io.swagger.reflection.IParent;
67
import io.swagger.reflection.Parent;
78
import io.swagger.util.ReflectionUtils;
89

@@ -12,6 +13,7 @@
1213
import java.lang.reflect.Method;
1314
import java.lang.reflect.Type;
1415
import java.util.Arrays;
16+
import java.util.Collections;
1517

1618
import javax.ws.rs.Path;
1719

@@ -114,4 +116,10 @@ public void testDerivedAnnotation() {
114116
Assert.assertNotNull(annotation);
115117
Assert.assertEquals(annotation.value(), "parentInterfacePath");
116118
}
119+
120+
@Test
121+
public void getDeclaredFieldsFromInterfaceTest() throws NoSuchMethodException {
122+
final Class cls = IParent.class;
123+
Assert.assertEquals(Collections.emptyList(), ReflectionUtils.getDeclaredFields(cls));
124+
}
117125
}

modules/swagger-jaxrs/src/test/java/io/swagger/SimpleScannerTest.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import io.swagger.resources.SimpleResourceWithoutAnnotations;
5353
import io.swagger.resources.SimpleSelfReferencingSubResource;
5454
import io.swagger.resources.TaggedResource;
55+
import io.swagger.resources.NicknamedOperation;
5556

5657
import org.testng.annotations.Test;
5758

@@ -337,7 +338,7 @@ public void scanSimpleSelfReferencingSubResource() {
337338
retrieve = getGet(swagger, "/sub/recurse2");
338339
assertNotNull(retrieve);
339340
assertEquals(retrieve.getParameters().size(), 0);
340-
}
341+
}
341342

342343
@Test(description = "scan resource with ApiOperation.code() value")
343344
public void scanResourceWithApiOperationCodeValue() {
@@ -527,4 +528,17 @@ public void checkResponseModelsProcessing() {
527528
}
528529
}
529530
}
531+
532+
@Test(description = "scan a resource with custom operation nickname")
533+
public void scanResourceWithApiOperationNickname() {
534+
Swagger swagger = getSwagger(NicknamedOperation.class);
535+
assertEquals(swagger.getPaths().size(), 1);
536+
537+
assertNotNull(swagger.getPaths().get("/external/info"));
538+
539+
Operation op = swagger.getPaths().get("/external/info").getGet();
540+
assertNotNull(op);
541+
542+
assertEquals(op.getOperationId(), "getMyNicknameTest");
543+
}
530544
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.swagger.resources;
2+
3+
import io.swagger.annotations.Api;
4+
import io.swagger.annotations.ApiOperation;
5+
import io.swagger.annotations.ApiParam;
6+
7+
import javax.ws.rs.GET;
8+
import javax.ws.rs.Path;
9+
import javax.ws.rs.core.Response;
10+
import java.util.ArrayList;
11+
12+
@Api(value = "/external/info/")
13+
@Path("external/info/")
14+
public class NicknamedOperation {
15+
@ApiOperation(value = "test", nickname = "getMyNicknameTest")
16+
@GET
17+
public Response.Status getTest(@ApiParam(value = "test") ArrayList<String> tenantId) {
18+
return Response.Status.OK;
19+
}
20+
}

0 commit comments

Comments
 (0)