Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit 7303c92

Browse files
authored
locale as param (#185)
1 parent a6d34b4 commit 7303c92

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

spring-auto-restdocs-core/src/main/java/capital/scalable/restdocs/util/TypeUtil.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ private static String getSimpleName(String canonicalName) {
6161
return "String";
6262
case "java.lang.Boolean":
6363
return "Boolean";
64+
default:
65+
return getSpecialTypeName(canonicalName);
66+
}
67+
}
68+
69+
private static String getSpecialTypeName(String canonicalName) {
70+
switch (canonicalName) {
71+
case "java.util.Locale":
72+
return "String";
6473
default:
6574
return "Object";
6675
}

spring-auto-restdocs-core/src/test/java/capital/scalable/restdocs/request/RequestParametersSnippetTest.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import static org.mockito.Mockito.mock;
2424
import static org.mockito.Mockito.when;
2525

26+
import java.util.Locale;
27+
2628
import capital.scalable.restdocs.constraints.ConstraintReader;
2729
import capital.scalable.restdocs.javadoc.JavadocReader;
2830
import org.junit.Before;
@@ -140,6 +142,23 @@ public void simpleRequestWithStringDefaultValueParameter() throws Exception {
140142
.build());
141143
}
142144

145+
@Test
146+
public void simpleRequestWithCustomTypes() throws Exception {
147+
HandlerMethod handlerMethod = createHandlerMethod("searchItem5", Locale.class);
148+
initParameters(handlerMethod);
149+
mockParamComment("searchItem5", "locale", "A locale");
150+
151+
this.snippets.expect(REQUEST_PARAMETERS).withContents(
152+
tableWithHeader("Parameter", "Type", "Optional", "Description")
153+
.row("locale", "String", "false", "A locale."));
154+
155+
new RequestParametersSnippet().document(operationBuilder
156+
.attribute(HandlerMethod.class.getName(), handlerMethod)
157+
.attribute(JavadocReader.class.getName(), javadocReader)
158+
.attribute(ConstraintReader.class.getName(), constraintReader)
159+
.build());
160+
}
161+
143162
@Test
144163
public void noParameters() throws Exception {
145164
HandlerMethod handlerMethod = createHandlerMethod("items");
@@ -279,6 +298,10 @@ public void searchItem4(@RequestParam int text, Pageable page) {
279298
// NOOP
280299
}
281300

301+
public void searchItem5(@RequestParam Locale locale) {
302+
// NOOP
303+
}
304+
282305
public void removeItem(@Deprecated @RequestParam int index) {
283306
// NOOP
284307
}

0 commit comments

Comments
 (0)