Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 1.63 KB

README.md

File metadata and controls

65 lines (44 loc) · 1.63 KB

An XML vocabulary for specifying RESTful HTTP services. An AngularJS directive DSL for laying out service documentation.

The goal of RestML is to support authenticated JSON and XML APIs.

##Demo

python -m SimpleHTTPServer

in another terminal

open http://localhost:8000/demo/

you can switch to the dogecoin example service by entering /demo/dogecoin/service.xml into the input at the top of the page.

##Development

For your own sanity, use Eclipse (for Java EE developers) to exit xml files by hand.

##Features

  • Specification of GET, PUT, POST, and DELETE actions.
  • Specification of path, query, and form parameters
  • API 'playground' with a variable Accept header type request/response inspection.
  • A completely customizable UI.

##Key differences from Swagger

XML based with an schema for validation and tooling. XML Schema is a W3C standard with (possibly) man years of effort dedicated to tooling. Further, XML Schema allows for documentation to be tied directly to the schema version, making the integration experience smooth.

A simple DSL using AngularJS defines the UI. UI deployment is simple (host a single html file). And (if you want it to be), everything is completely customizable out of the box.

##Plans

  • parameter/response model specification
  • client-side parameter validation
  • more types of parameters

##Model specification plans

  • This is hard problem. Not sure how to solve it.

##Planned parameter types

  • file
  • application/json
  • application/xml

##Potential plans for fancy response type handling

  • application/json
  • application/xml
  • text/csv
  • image/*
  • video/*