Hi Koide-san,

If you need help using vendor extension in the mustache template, please 
open an issue via https://github.com/swagger-api/swagger-codegen/issues/new.

Best regards,
William

HIROSHI KOIDE於 2016年9月28日星期三 UTC+8上午8時00分30秒寫道:
>
> thanks for the information !!
>
> Hiroshi
>
> On Tuesday, September 27, 2016 at 7:38:15 AM UTC-7, tony tam wrote:
>>
>> Well, codegen works of the OAI / Swagger Specification, so you cannot 
>> just invent a new syntax.  You can, however, use extensions in the 
>> definition in the allowable places, which are passed on to the generator 
>> and usable in templates.
>>
>> Take a look at 
>> https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md for 
>> details on where they are allowed, and look in the templates in here:
>>
>>
>> https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen/src/main/resources
>>
>> You can access extensions like this;
>>
>> {{vendorExtensions.x-your-extension}}
>>
>> On Sep 27, 2016, at 12:21 AM, HIROSHI KOIDE <[email protected]> wrote:
>>
>> 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]> 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].
>>> 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.
>>
>>
>>

-- 
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