Thanks, Rogelio, for your instructions.

I'm working on this now.  I'll report on the progress later.

On 23.03.2017 22:56, Rogelio Flores wrote:
No, I have not tried generating API interfaces for a CXF client. I
don't remember even seeing that option when we first created the api
(more than a year ago). I might try that out.

To create our GWT "Models" module, we simply add a gwt module file
with these 3 lines:

|

<modulerename-to='Models'>
   <sourcepath="model"/>

</module>

|

to the generated Java source code, package it into a jar file, and we
can import and use that module on any GWT app (and also on the server
side along with the rest of the generated files, so we can call the
same api programmatically).

Our API is externally available (to customers that buy our enterprise
product) so that customers can request/manipulate the data with their
own RESTful clients if they choose to.


On Thursday, March 23, 2017 at 5:16:58 AM UTC-6, Irek Szczesniak wrote:

    Thank you, Rogelio, for your input.

    I like the idea of generating the data model from the OpenAPI
    specification, because I will not have to write some boring
    error-prone code.  I also like the optimization of the GWT compiler.

    The swagger-codegen can output Jaxrs Cxf Client, which has the API
    interface defined with JAX-RS annotations.  So it seems that even the
    interfaces could be auto-generated.  You only have to modify them so
    that they extend RestService, required by RestyGWT.

    Have you tried auto-generating the API interfaces with Jaxrs Cxf
    Client?

    In your previous message you wrote that you auto-generate a GWT
    module.  What do you specifically mean by a module here?  Do you use
    some publicly-available tools, or do you have something home-grown?

    On 22.03.2017 23:51, Rogelio Flores wrote:
    > Yes, those are the Models I was referring to.
    >
    > I can't compare my approach to JsInterop +
    > RequestBuilder/XMLHttpRequest because I haven't tried it, but
    having
    > used RequestBuilder (and direct XMLHttpRequest) before, I can't see
    > how you will write less code using that approach. A benefit of
    doing
    > things in Java is that GWT will optimize the resulting javascript
    > (Java classes/methods from the generated api that don't get used
    > aren't included).
    >
    >
    > On Tuesday, March 21, 2017 at 10:39:09 PM UTC-6, Irek Szczesniak
    wrote:
    >
    >     Thanks, Rogelio!
    >
    >     When you auto-generate Java source code, do you use
    >     swagger-codegen to
    >     generate Java client code, so that you get Java classes
    implementing
    >     the types from the OpenAPI #/definitions?
    >
    >     On 21.03.2017 20:50, Rogelio Flores wrote:
    >     > We do auto-generate Java source code out of the swagger api
    >     (including
    >     > a GWT module). That allows us to use the Models on both
    client and
    >     > server side. So we don't have to write much code.
    Basically all
    >     we do
    >     > is specify some options for RestyGWT and specify the
    endpoints.
    >     >
    >     > On Monday, March 20, 2017 at 11:32:41 PM UTC-6, Irek
    Szczesniak
    >     wrote:
    >     >
    >     >     Thank you, Rogelio, for your info.
    >     >
    >     >     But I guess no code is generated automatically, you
    have to
    >     >     develop it
    >     >     yourself.  Is this right?
    >     >
    >     >     I'm not fully for code generation (such code is usually
    >     messy and
    >     >     hard
    >     >     to read), but generating some bits, like a model of
    the data
    >     >     structures could be useful.
    >     >
    >     >     On 20.03.2017 18:24, Rogelio Flores wrote:
    >     >     > We use RestyGWT to consume a swagger REST API and
    are very
    >     pleased
    >     >     > with it:
    >     >     >
    >     >     > https://resty-gwt.github.io/index.html
    <https://resty-gwt.github.io/index.html>
    >     <https://resty-gwt.github.io/index.html
    <https://resty-gwt.github.io/index.html>>
    >     >     <https://resty-gwt.github.io/index.html
    <https://resty-gwt.github.io/index.html>
    >     <https://resty-gwt.github.io/index.html
    <https://resty-gwt.github.io/index.html>>>
    >     >     >
    >     >     >
    >     >     >
    >     >     > On Monday, March 20, 2017 at 7:06:08 AM UTC-6, Irek
    >     Szczesniak
    >     >     wrote:
    >     >     >
    >     >     >     Hi,
    >     >     >
    >     >     >     I need to develop a web client with GWT, which
    >     consumes a web
    >     >     >     service defined with Open API (formerly Swagger).
    >     >     >
    >     >     >     I wonder whether someone could offer some advice on
    >     how to
    >     >     do it
    >     >     >     best with GWT.
    >     >     >
    >     >     >
    >     >     >     Thanks,
    >     >     >     Irek
    >     >     >
    >     >     > --
    >     >     > You received this message because you are subscribed
    to a
    >     topic
    >     >     in the
    >     >     > Google Groups "GWT Users" group.
    >     >     > To unsubscribe from this topic, visit
    >     >     >
    >     >
    >
    https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>

    >
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>>

    >
    >     >
    >
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>

    >
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>>>.

    >
    >     >
    >     >     > To unsubscribe from this group and all its topics,
    send an
    >     email to
    >     >     > google-web-toolkit+unsubscr...@googlegroups.com
    <javascript:>
    >     <javascript:> <javascript:>
    >     >     >
    <mailto:google-web-toolkit+unsubscr...@googlegroups.com <javascript:>
    >     <javascript:>
    >     >     <javascript:>>.
    >     >     > To post to this group, send email to
    >     >     > google-we...@googlegroups.com <javascript:>
    >     >     > <mailto:google-we...@googlegroups.com <javascript:>>.
    >     >     > Visit this group at
    >     >     https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>
    >     <https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>>
    >     >     <https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>
    >     <https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>>>.
    >     >     > For more options, visit
    https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>
    >     <https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>>
    >     >     <https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>
    >     <https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>>>.
    >     >
    >     > --
    >     > You received this message because you are subscribed to a
    topic
    >     in the
    >     > Google Groups "GWT Users" group.
    >     > To unsubscribe from this topic, visit
    >     >
    >
    https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>

    >
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>>.

    >
    >     > To unsubscribe from this group and all its topics, send an
    email to
    >     > google-web-toolkit+unsubscr...@googlegroups.com
    <javascript:> <javascript:>
    >     > <mailto:google-web-toolkit+unsubscr...@googlegroups.com
    <javascript:>
    >     <javascript:>>.
    >     > To post to this group, send email to
    >     > google-we...@googlegroups.com <javascript:>
    >     > <mailto:google-we...@googlegroups.com <javascript:>>.
    >     > Visit this group at
    >     https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>
    >     <https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>>.
    >     > For more options, visit https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>
    >     <https://groups.google.com/d/optout
    <https://groups.google.com/d/optout>>.
    >
    > --
    > You received this message because you are subscribed to a topic
    in the
    > Google Groups "GWT Users" group.
    > To unsubscribe from this topic, visit
    >
    https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe
    
<https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe>.

    > To unsubscribe from this group and all its topics, send an email to
    > google-web-toolkit+unsubscr...@googlegroups.com <javascript:>
    > <mailto:google-web-toolkit+unsubscr...@googlegroups.com
    <javascript:>>.
    > To post to this group, send email to
    > google-we...@googlegroups.com <javascript:>
    > <mailto:google-we...@googlegroups.com <javascript:>>.
    > Visit this group at
    https://groups.google.com/group/google-web-toolkit
    <https://groups.google.com/group/google-web-toolkit>.
    > 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 a topic in the
Google Groups "GWT Users" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/google-web-toolkit/hyILXPwx9Pc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
google-web-toolkit+unsubscr...@googlegroups.com
<mailto:google-web-toolkit+unsubscr...@googlegroups.com>.
To post to this group, send email to
google-web-toolkit@googlegroups.com
<mailto:google-web-toolkit@googlegroups.com>.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to