From 67da9921878fe590f40b0d2a4a603638578e6fcb Mon Sep 17 00:00:00 2001 From: "akihito.nakano" Date: Mon, 8 Oct 2018 21:00:41 +0900 Subject: [PATCH 1/3] Fix character conversion error ref https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/ServletResponse.html > To send character data, use the PrintWriter object returned by getWriter() --- .../src/main/resources/JavaSpring/apiUtil.mustache | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache index c6255465d694..67816edd971e 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache @@ -16,8 +16,10 @@ public class ApiUtil { {{^reactive}} public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } From 705092e23f55833500ea170c8c04b0c45af881ff Mon Sep 17 00:00:00 2001 From: "akihito.nakano" Date: Mon, 8 Oct 2018 22:02:49 +0900 Subject: [PATCH 2/3] Update samples --- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- 9 files changed, 36 insertions(+), 18 deletions(-) diff --git a/samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/spring-mvc-j8-async/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/spring-mvc-j8-localdatetime/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/spring-mvc/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/spring-mvc/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/spring-mvc/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/spring-mvc/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot-beanvalidation/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot-delegate-j8/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot-delegate/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot-implicitHeaders/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot-useoptional/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/ApiUtil.java b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/server/petstore/springboot/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/server/petstore/springboot/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); } From bbf4b97c25e2a23f826456077050fb9a700ece77 Mon Sep 17 00:00:00 2001 From: "akihito.nakano" Date: Mon, 8 Oct 2018 22:42:44 +0900 Subject: [PATCH 3/3] Update spring-stubs --- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java index c5f5cc143a1c..3ecc0972d94a 100644 --- a/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java +++ b/samples/client/petstore/spring-stubs/src/main/java/org/openapitools/api/ApiUtil.java @@ -8,8 +8,10 @@ public class ApiUtil { public static void setExampleResponse(NativeWebRequest req, String contentType, String example) { try { - req.getNativeResponse(HttpServletResponse.class).addHeader("Content-Type", contentType); - req.getNativeResponse(HttpServletResponse.class).getOutputStream().print(example); + HttpServletResponse res = req.getNativeResponse(HttpServletResponse.class); + res.setCharacterEncoding("UTF-8"); + res.addHeader("Content-Type", contentType); + res.getWriter().print(example); } catch (IOException e) { throw new RuntimeException(e); }