From 68a8f2976cd0bf7af67d7568bfbba84d689cc6b2 Mon Sep 17 00:00:00 2001 From: Akihito Nakano Date: Tue, 9 Oct 2018 18:29:58 +0900 Subject: [PATCH] [Spring] Fix character conversion error (#1195) * 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() * Update samples * Update spring-stubs --- .../src/main/resources/JavaSpring/apiUtil.mustache | 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 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- .../src/main/java/org/openapitools/api/ApiUtil.java | 6 ++++-- 11 files changed, 44 insertions(+), 22 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/apiUtil.mustache index c6255465d69..67816edd971 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); } 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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-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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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 c5f5cc143a1..3ecc0972d94 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 @@ import java.io.IOException; 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); }