Hi, I have to say, this is pretty specific to your use case and difficult to 
automate.  The best solution would be to create a custom template set.

> On Sep 26, 2016, at 2:23 PM, HIROSHI KOIDE <[email protected]> wrote:
> 
> Hi experts,
> 
>   I'm using swagger to auto-generate JAX-RS server side code. It works great. 
> Regarding to the codegen behavior, I'd like to ask you a question. 
>   Say, I have next yaml definition (this is the example to explain my 
> question). 
> 
> ---
> swagger: '2.0'
> info:
>   version: 0.0.0
>   title: Simple API
> paths:
>   /message:
>     get:
>       responses:
>         200:
>           description: OK
>           schema:
>             $ref: '#/definitions/message'
>   /secureMessage:
>     get:
>       responses:
>         200:
>           description: OK
>           schema:
>             $ref: '#/definitions/secretMessage'
> definitions:
>   message:
>     type: string
>   secretMessage:
>     type: string
> 
> 
>   The generated server side java code has data model class Message.java and 
> SecretMessage.java. Both have next toString() and toIndentString() methods by 
> default (I'm using the default template).
> 
>   @Override
>   public String toString() {
>     StringBuilder sb = new StringBuilder();
>     sb.append("class Message {\n");
>     
>     sb.append("}");
>     return sb.toString();
>   }
> 
>   /**
>    * Convert the given object to string with each line indented by 4 spaces
>    * (except the first line).
>    */
>   private String toIndentedString(java.lang.Object o) {
>     if (o == null) {
>       return "null";
>     }
>     return o.toString().replace("\n", "\n    ");
>   }
> 
>   Basically, I'd like to leave these methods, but I don't want to print the 
> value for SecretMessage.java. 
>   How can we achieve this in generic way? 
> 
>   One solution is, providing a custom template and determines the definition 
> of toString() and toIndentedString() based on the data model class name. This 
> works fine, but we need to know the data model class names that we don't want 
> to print the value in advance. It is not smart. 
> 
>   It may be a shallow brained idea, but I'm feeling that it's smart if we 
> could direct this kind of things in yaml definition. Can we customize yaml 
> definition for swagger? 
> 
> definitions:
>   message:
>     type: string
>   secretMessage:
>     type: string
>     option: doNotPrintItsValueInLog
> 
> Probably, there should be smarter way. Please provide me some suggestion. 
> 
> thanks in advance.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Swagger" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to