I want the query on the server side to specify the Content-Type header for the response. I didn't see how to do that from the link you provided.
This seems to work - is there a better way? declare function as:json-response-headers() { <rest:response> <http:response status="404"> <http:header name="Content-Language" value="el"/> <http:header name="Content-Type" value="application/json; charset=utf-8"/> </http:response> </rest:response> }; declare %rest:path("/api/abbott-smith/index") %rest:GET %rest:produces("application/json") function as:index() { as:json-response-headers(), array { $as:abbott-smith/*:entry ! @lemma ! string() } ! serialize(., map {'method' : 'json'}) }; Jonathan [1] https://docs.basex.org/wiki/RESTXQ#Custom_Response On Wed, Nov 10, 2021 at 11:29 PM Kristian Kankainen <krist...@keeleleek.ee> wrote: > Hi Jonathan, > > Have you tried setting the media-type or method parameters to > application/json instead of only the produces parameter, as explained here > [1]. > > > [1] https://docs.basex.org/wiki/REST#Content_Type > > Best regards, > Kristian Kankainen > > > > On 11. Nov 2021, at 02:32, Jonathan Robie <jonathan.ro...@gmail.com> > wrote: > > Using RESTXQ in an application for the first time. I expected this > function to have the MIME type application/json: > > declare > %rest:path("/api/abbott-smith/index") > %rest:GET > %rest:produces("application/json") > function as:index() > { > array { $as:abbott-smith/*:entry ! @lemma ! string() } > ! serialize(., map {'method' : 'json'}) > }; > > But both POSTMAN and WADL give me application/xml as the mime type: > > <wadl:resource path="/api/abbott-smith/index"> > <wadl:method name="GET"> > <wadl:request/> > <wadl:response> > <wadl:representation mediaType="application/xml"/> > </wadl:response> > </wadl:method> > </wadl:resource> > > > What am I doing wrong? > > Jonathan > > >