Hi Tony, Thanks for your reply. I'm wondering if swagger codegen allows us to define my own custom yaml definition. I tried to find it, but no clue. Do you happen to know it?
thanks On Monday, September 26, 2016 at 7:32:00 PM UTC-7, tony tam wrote: > > 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] <javascript:>> > 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] <javascript:>. > For more options, visit 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.
