@RestResource(path="/sql", title="SQL query service", description="Executes queries against the local derby \'$C{SqlQueryResource/connectionUrl}\' database", swagger=) @HtmlDocConfig(widgets=ThemeMenuItem.class, navlinks={"up: request:/..","options: servlet:/?method=OPTIONS","$W{ThemeMenuItem}","source: $C{Source/gitHub}/org/apache/juneau/examples/rest/$R{servletClassSimple}.java"}, aside={"<div style=\'min-width:200px\' class=\'text\'>","\t<p>An example of a REST interface over a relational database that serializes ResultSet objects.</p>","\t<p>Specify one or more queries delimited by semicolons.</p>","\t<h5>Examples:</h5>","\t<ul>","\t\t<li><a class=\'link\' href=\'?sql=select+*+from+sys.systables\'>Tables</a>","\t\t<li><a class=\'link\' href=\'?sql=select+*+from+PetstorePet\'>Pets</a>","\t\t<li><a class=\'link\' href=\'?sql=select+*+from+PetstoreOrder\'>Orders</a>","\t\t<li><a class=\'link\' href=\'?sql=select+*+from+PetstoreUser\'>Users</a>","\t</ul>","</div>"}, stylesheet="servlet:/htdocs/themes/dark.css") public class SqlQueryResource extends BasicRestServlet
Modifier and Type | Class and Description |
---|---|
static class |
SqlQueryResource.PostInput
The parsed form post
|
Constructor and Description |
---|
SqlQueryResource() |
Modifier and Type | Method and Description |
---|---|
Div |
get(String sql)
Displays the query entry page.
|
void |
initConnection(RestContextBuilder builder)
Initializes the registry URL and rest client.
|
List<Object> |
post(SqlQueryResource.PostInput in)
Execute one or more queries.
|
getOptions
destroy, getContext, getPath, getProperties, getRequest, getResponse, getServletConfig, init, log, log, log, log, logObjects, service, setContext, setRestResourceResolver
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
getInitParameter, getInitParameterNames, getServletContext, getServletInfo, getServletName, init
public SqlQueryResource()
@RestHook(value=INIT) public void initConnection(RestContextBuilder builder)
builder
- The resource config.@RestMethod(summary="Display the query entry page") public Div get(@Query(name="sql",description="Text to prepopulate the SQL query field with.",example="select * from sys.systables") String sql)
sql
- Text to prepopulate the SQL query field with.@RestMethod(summary="Execute one or more queries") @Response(description="Query results.\nEach entry in the array is a result of one query.\nEach result can be a result set (for queries) or update count (for updates).") public List<Object> post(@Body(description="Query input",example="{sql:\'select * from sys.systables\',pos:1,limit:100}") SqlQueryResource.PostInput in) throws BadRequest
in
- Query inputBadRequest
- Invalid SQL detected.Copyright © 2016–2019 The Apache Software Foundation. All rights reserved.