On Tue, Mar 27, 2018 at 4:49 AM, <peter.sk...@ooom.at> wrote:

> Hi,
>

Hello!


> tapestry 5.4 made with the requireJS integration a great step towards
> supporting any
> of the JS frameworks out there. Supporting only a single one of them would
> be a step
> back.
>

Indeed. This doesn't prevent having separate projects/JARs for making it
easier to use one specific JS framework, though.


> Using tapestry on the server side of dynamic client applications is
> effective as it
> possible to initialize the pages in a context specific way and to provide
> the RESP API
> for them, everything smoothly integrated with java side components and
> greatly
> reusable. This is all working very well in 5.4.
>

Even not implementing JAX-RS, Tapestry can be used for lots of REST
endpoint scenarios. The ones not covered yet, at least not in an explicit,
easy way, are ones involving non-GET operations. I suspect (I haven't
looked at this yet) that it wouldn't be had to add this to Tapestry, inside
its core or even as a separate project/JAR.

We could also have Tapestry implement at least a subset of JAX-RS. I guess
the starting point would be supporting @GET, @PUT, @POST, @DELETE, @HEAD,
@Produces and @Consumes. The @*Param could probably be easily implemented
by copying and adapting the code of @RequestParameter. Data transformations
would be delegated to TypeCoercer.


> Very helpful would be to provide the REST API description endpoints out of
> the box –
> something of the art of swagger.  What would be the most effective design
> for  it?
>

If we had Tapestry implement a subset of JAX-RS, we would probably have
enough information in class transformations in order to feed endpoint
information to Swagger (which I don't know yet) or something similar.

Reply via email to