sounds like a good plan
On Tue, Apr 7, 2015 at 1:59 PM, Idel Pivnitskiy <idel.pivnitskiy(a)gmail.com>
wrote:
We may try to start with free version (because it will be faster)
and
request a pro version later.
2015-04-07 14:57 GMT+03:00 Idel Pivnitskiy <idel.pivnitskiy(a)gmail.com>:
> Ok, so I will wait a license key from you.
>
> 2015-04-07 14:55 GMT+03:00 Matthias Wessendorf <matzew(a)apache.org>:
>
>>
>>
>> On Tue, Apr 7, 2015 at 1:42 PM, Idel Pivnitskiy <
>> idel.pivnitskiy(a)gmail.com> wrote:
>>
>>> IMO, custom annotations force you to duplicate code and documentation.
>>> Take a look at a more detailed example:
>>>
>>> @POST
>>> @Path("/{petId}")
>>> @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
>>> @ApiOperation(value = "Updates a pet in the store with form
data",
>>> consumes = MediaType.APPLICATION_FORM_URLENCODED)
>>> @ApiResponses(value = {
>>> @ApiResponse(code = 405, message = "Invalid input")})
>>> public Response updatePetWithForm (
>>> @ApiParam(value = "ID of pet that needs to be updated", required
= true)@PathParam("petId") String petId,
>>> @ApiParam(value = "Updated name of the pet", required =
false)@FormParam("name") String name,
>>> @ApiParam(value = "Updated status of the pet", required =
false)@FormParam("status") String status) {
>>> System.out.println(name);
>>> System.out.println(status);
>>> return Response.ok().entity(new
com.wordnik.swagger.sample.model.ApiResponse(200, "SUCCESS")).build();
>>> }
>>>
>>>
>>> It is much more simple with MireDot (also because javadoc could be
>>> generated automatically by IDE):
>>>
>>> /**
>>> * Updates a pet in the store with form data.
>>> *
>>> * @param petId ID of pet that needs to be updated
>>> * @param name Updated name of the pet
>>> * @param status Updated status of the pet
>>> */
>>> @POST
>>> @Path("/{petId}")
>>> @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
>>> public Response updatePetWithForm (@PathParam("petId") String
petId,
>>> @FormParam("name") String
name,
>>> @FormParam("status") String
status) {
>>> System.out.println(name);
>>> System.out.println(status);
>>> return Response.ok().entity(new
com.wordnik.swagger.sample.model.ApiResponse(200, "SUCCESS")).build();
>>> }
>>>
>>> Really, I don't know why Swagger is so popular :)
>>>
>>
>> That's quite a difference, and less verbose and less of duplication
>> (DRY). So I'd say, let's try Miredot :-)
>>
>> Thanks for the valuable info, Idel!
>>
>> -Matthias
>>
>>
>>>
>>> 2015-04-07 14:11 GMT+03:00 Matthias Wessendorf <matzew(a)apache.org>:
>>>
>>>>
>>>>
>>>> On Tue, Apr 7, 2015 at 12:56 PM, Idel Pivnitskiy <
>>>> idel.pivnitskiy(a)gmail.com> wrote:
>>>>
>>>>> Yes, Swagger can generate doc on the fly, but Swagger use its own
>>>>> annotations instead of parse JAX-RS annotations and javadoc, like
MireDot.
>>>>>
>>>>
>>>> Ok, I think I have not a huge concern against custom annotations,
>>>> especially due to the wide adoption of Swagger.
>>>> I guess it's just a very tiny JAR, that contains the annotations,
>>>> right?
>>>>
>>>> (+ the build time tool dependency for processing)
>>>>
>>>>
>>>>> What about licence: Apache Tika, for example, uses pro version of
>>>>> MireDot
>>>>>
>>>>>
>>>>>
https://github.com/apache/tika/blob/5fbc56cca94b9da0a914e82dd466abb139f9e...
>>>>>
>>>>
>>>> Thanks for the example, that's helpful
>>>>
>>>>
>>>>>
>>>>>
>>>>> 2015-04-07 13:48 GMT+03:00 Matthias Wessendorf
<matzew(a)apache.org>:
>>>>>
>>>>>> Swagger allows doc on the source as well, right ? Just
wondering.
>>>>>>
>>>>>> REgarding license, I need to double check on that before...
>>>>>>
>>>>>> On Tue, Apr 7, 2015 at 11:57 AM, Idel Pivnitskiy <
>>>>>> idel.pivnitskiy(a)gmail.com> wrote:
>>>>>>
>>>>>>> Matthias,
>>>>>>>
>>>>>>> Sure, I will work on it.
>>>>>>> But I think that it would be better if you request a license
[1] on
>>>>>>> your email and forward it to me.
>>>>>>> It won't be a problem to use a free version, but pro
version has a
>>>>>>> very cool features, like:
>>>>>>>
>>>>>>> - Display javadoc comments for the fields of json payloads
and
>>>>>>> enums
>>>>>>> - JSON field documentation
>>>>>>> - Type replacement (custom serialisation, JSON types)
>>>>>>>
>>>>>>> Please, request a li
>>>>>>>
>>>>>>> [1]
http://miredot.com/price/
>>>>>>>
>>>>>>> 2015-04-07 12:44 GMT+03:00 Matthias Wessendorf
<matzew(a)apache.org>:
>>>>>>>
>>>>>>>> Idel,
>>>>>>>>
>>>>>>>> would you mind to create a branch for us, so we can
investigate
>>>>>>>> the MireDot solution? also the build should be working w/
JDK8.
>>>>>>>>
>>>>>>>> ATM we use jax-doclet ([1]) which does not work w/ JDK 8
- but it
>>>>>>>> does not really use any fancy annotations (e.g. see [2])
- that's why we
>>>>>>>> picked it.
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> Matthias
>>>>>>>>
>>>>>>>> [1]
http://fromage.github.io/jax-doclets/docs/0.10.0/html/
>>>>>>>> [2]
>>>>>>>>
https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs...
>>>>>>>>
>>>>>>>> On Tue, Apr 7, 2015 at 9:54 AM, Lukáš Fryč
<lukas.fryc(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> I agree with Idel that DRY approach in Miredot's
case seems more
>>>>>>>>> appealing.
>>>>>>>>>
>>>>>>>>> They offer basic docs generation in Free version, but
also Pro
>>>>>>>>> version for open-source projects under conditions
that Aerogear meets [1].
>>>>>>>>>
>>>>>>>>> ~ Lukas
>>>>>>>>>
>>>>>>>>> [1]
http://www.miredot.com/price/
>>>>>>>>>
>>>>>>>>> ne 5. 4. 2015 v 20:00 odesílatel Idel Pivnitskiy
<
>>>>>>>>> idel.pivnitskiy(a)gmail.com> napsal:
>>>>>>>>>
>>>>>>>>> For JAX-RS I prefer use MireDot as a REST API doc
generator
>>>>>>>>>>
http://www.miredot.com/
>>>>>>>>>>
>>>>>>>>>> With MireDot you do not need to use additional
annotations, like
>>>>>>>>>> @Api:
>>>>>>>>>>
>>>>>>>>>> @Path("/pet")
>>>>>>>>>> @Api(value = "/pet", description =
"Operations about pets")
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> It will parse your JAX-RS annotation and pure
javadoc:
>>>>>>>>>>
>>>>>>>>>> /**
>>>>>>>>>> * Operations about pets
>>>>>>>>>> */
>>>>>>>>>> @Path("/pet")
>>>>>>>>>>
>>>>>>>>>> and generate beautiful and user friendly
documentation, like
>>>>>>>>>> this:
http://www.miredot.com/exampledocs/
>>>>>>>>>> Swagger example:
http://petstore.swagger.io/
>>>>>>>>>>
>>>>>>>>>> And MireDot is free for open source projects!
>>>>>>>>>>
>>>>>>>>>> Think about this alternative for Swagger. I'm
able to prepare
>>>>>>>>>> Pull Request for UPS next week.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2015-04-04 9:43 GMT+03:00 Matthias Wessendorf
<matzew(a)apache.org
>>>>>>>>>> >:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Apr 3, 2015 at 10:27 PM, Heiko W.Rupp
<hrupp(a)redhat.com
>>>>>>>>>>> > wrote:
>>>>>>>>>>>
>>>>>>>>>>>> On 3 Apr 2015, at 18:53, Andrea Vibelli
wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> > we are using it in Project Newcastle
with annotations on the
>>>>>>>>>>>> > endpoints, and
>>>>>>>>>>>> > it's really handy.
>>>>>>>>>>>>
>>>>>>>>>>>> All the JBoss ON 3.2+ and RHQ REST-docs
are generated from
>>>>>>>>>>>> JAX-RS +
>>>>>>>>>>>> Swagger annotations.
>>>>>>>>>>>> In Hawkular we are basically doing the
same, but with a
>>>>>>>>>>>> different
>>>>>>>>>>>> annotation processor.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> +1000
>>>>>>>>>>>
>>>>>>>>>>> we are, atm, doing similar:
>>>>>>>>>>> source
>>>>>>>>>>>
https://github.com/aerogear/aerogear-unifiedpush-server/
>>>>>>>>>>>
blob/master/jaxrs/src/main/java/org/jboss/aerogear/
>>>>>>>>>>>
unifiedpush/rest/sender/PushNotificationSenderEndpoint
>>>>>>>>>>> .java#L99-L102
>>>>>>>>>>> result:
>>>>>>>>>>>
https://aerogear.org/docs/specs/aerogear-unifiedpush-
>>>>>>>>>>> rest/sender/index.html#POST
>>>>>>>>>>>
>>>>>>>>>>> but the jaxrs doclet does not work w/ JDK8 -
something has to
>>>>>>>>>>> change here ;-)
>>>>>>>>>>> So, I am all for using Swagger annotations on
the code to
>>>>>>>>>>> generate the HTML docs :-)
>>>>>>>>>>>
>>>>>>>>>>> Greetings,
>>>>>>>>>>> Matthias
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I personally think the best is really to
have the annotations
>>>>>>>>>>>> in the
>>>>>>>>>>>> source and not trying
>>>>>>>>>>>> to update a separate .yml file, as the
latter usually is much
>>>>>>>>>>>> easier
>>>>>>>>>>>> forgotten.
>>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Matthias Wessendorf
>>>>>>>>>>>
>>>>>>>>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>>>>>>>>> sessions:
http://www.slideshare.net/mwessendorf
>>>>>>>>>>> twitter:
http://twitter.com/mwessendorf
>>>>>>>>>>>
>>>>>>>>>>>
_______________________________________________
>>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Best regards,
>>>>>>>>>> Idel Pivnitskiy
>>>>>>>>>> E-mail: Idel.Pivnitskiy(a)gmail.com
>>>>>>>>>> Twitter: @idelpivnitskiy
<
https://twitter.com/idelpivnitskiy>
>>>>>>>>>> GitHub: @idelpivnitskiy
<
https://github.com/idelpivnitskiy>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> aerogear-dev mailing list
>>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Matthias Wessendorf
>>>>>>>>
>>>>>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>>>>>> sessions:
http://www.slideshare.net/mwessendorf
>>>>>>>> twitter:
http://twitter.com/mwessendorf
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> aerogear-dev mailing list
>>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Idel Pivnitskiy
>>>>>>> E-mail: Idel.Pivnitskiy(a)gmail.com
>>>>>>> Twitter: @idelpivnitskiy
<
https://twitter.com/idelpivnitskiy>
>>>>>>> GitHub: @idelpivnitskiy
<
https://github.com/idelpivnitskiy>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> aerogear-dev mailing list
>>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matthias Wessendorf
>>>>>>
>>>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>>>> sessions:
http://www.slideshare.net/mwessendorf
>>>>>> twitter:
http://twitter.com/mwessendorf
>>>>>>
>>>>>> _______________________________________________
>>>>>> aerogear-dev mailing list
>>>>>> aerogear-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Matthias Wessendorf
>>>>
>>>> blog:
http://matthiaswessendorf.wordpress.com/
>>>> sessions:
http://www.slideshare.net/mwessendorf
>>>> twitter:
http://twitter.com/mwessendorf
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>
>>
>>
>> --
>> Matthias Wessendorf
>>
>> blog:
http://matthiaswessendorf.wordpress.com/
>> sessions:
http://www.slideshare.net/mwessendorf
>> twitter:
http://twitter.com/mwessendorf
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
>
> --
> Best regards,
> Idel Pivnitskiy
> E-mail: Idel.Pivnitskiy(a)gmail.com
> Twitter: @idelpivnitskiy <
https://twitter.com/idelpivnitskiy>
> GitHub: @idelpivnitskiy <
https://github.com/idelpivnitskiy>
>
--
Best regards,
Idel Pivnitskiy
E-mail: Idel.Pivnitskiy(a)gmail.com
Twitter: @idelpivnitskiy <
https://twitter.com/idelpivnitskiy>
GitHub: @idelpivnitskiy <
https://github.com/idelpivnitskiy>
_______________________________________________
aerogear-dev mailing list
aerogear-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev