All Projects → mulesoft → Api Designer

mulesoft / Api Designer

Licence: other
A web editor for creating and sharing RAML API specifications

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Api Designer

raml2obj
RAML to object.
Stars: ✭ 23 (-97.74%)
Mutual labels:  raml
home
This is the home page for the API specification toolbox.
Stars: ✭ 16 (-98.43%)
Mutual labels:  raml
Docs
轻芒对外服务的文档说明
Stars: ✭ 397 (-61.04%)
Mutual labels:  raml
core
This repo contains the core module of the OCF API's.
Stars: ✭ 20 (-98.04%)
Mutual labels:  raml
raml-typesystem
(deprecated) Typescript implementation of RAML type system
Stars: ✭ 15 (-98.53%)
Mutual labels:  raml
node-raml-validate
Strict validation of RAML parameters in JavaScript
Stars: ✭ 18 (-98.23%)
Mutual labels:  raml
raml-dotnet-parser-2
No description or website provided.
Stars: ✭ 17 (-98.33%)
Mutual labels:  raml
Api Console
An interactive REST console based on RAML/OAS files
Stars: ✭ 848 (-16.78%)
Mutual labels:  raml
commercetools-api-reference
commercetools API reference documentation
Stars: ✭ 41 (-95.98%)
Mutual labels:  raml
Raml Spec
RAML Specification
Stars: ✭ 3,759 (+268.89%)
Mutual labels:  raml
osprey-method-handler
Middleware for validating requests and responses based on a RAML method object
Stars: ✭ 14 (-98.63%)
Mutual labels:  raml
raml-sublime-plugin
Syntax highlighter for the RESTful API Modeling Language
Stars: ✭ 49 (-95.19%)
Mutual labels:  raml
raml-javascript-generator
Generate a JavaScript API client from RAML
Stars: ✭ 30 (-97.06%)
Mutual labels:  raml
oas-raml-converter
(DEPRECATED) Converts between OAS and RAML API specifications
Stars: ✭ 75 (-92.64%)
Mutual labels:  raml
Osprey
Generate Node.JS API middleware from a RAML definition
Stars: ✭ 429 (-57.9%)
Mutual labels:  raml
generaptr
Generaptr is a node package that helps when starting up a project by generating boilerplate code for Express api.
Stars: ✭ 16 (-98.43%)
Mutual labels:  raml
ramlev
Validate/Verify examples in RAML
Stars: ✭ 30 (-97.06%)
Mutual labels:  raml
Web Api
This issue tracker is no longer used. Join us in the Spotify for Developers forum for support with the Spotify Web API ➡️ https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer
Stars: ✭ 944 (-7.36%)
Mutual labels:  raml
Ramses Example
Example of a Pyramid app that uses ramses
Stars: ✭ 19 (-98.14%)
Mutual labels:  raml
Raml For Jax Rs
This project is all about two way transformation of JAX-RS-annotated Java code to RAML API description and back.
Stars: ✭ 294 (-71.15%)
Mutual labels:  raml

API Designer

Gitter npm version Bower version

API Designer is a standalone/embeddable editor for RAML (RESTful API Modeling Language) written in JavaScript using Angular.JS. By default, the editor uses an in-browser filesystem stored in HTML5 Localstorage.

Examples of designing RAML with API Designer in the Wild

API Designer online

There is an online preview version of the API Designer, check it out a different branch.

Running Locally

npm install -g api-designer

api-designer

This will start a local designer instance using the in-browser filesystem.

Embedding

The following example details how to embed the API Designer:

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My App</title>
  <link rel="stylesheet" href="styles/api-designer-vendor.css">
  <link rel="stylesheet" href="styles/api-designer.css">
</head>
<body ng-app="ramlEditorApp">
<raml-editor></raml-editor>
<script src="scripts/api-designer-parser.js"></script>
<script>
  if (window.Worker) {
    // enable optional web worker for raml parsing 
    window.RAML.worker = new Worker('scripts/api-designer-worker.js#parser=./api-designer-parser.js&proxy=/proxy/');
  }
</script>
<script src="scripts/api-designer-vendor.js"></script>
<script src="scripts/api-designer.js"></script>
<script>
  // This part is needed only if you want to provide your own Persistance Implementation
  // Angular Module must match "ramlEditorApp"

  function myFileSystem($q, config, $rootScope) {
    var service = {};

    service.directory = function (path) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      // In case you want to send notifications to the user
      // (for instance, that he must login to save).
      // The expires flags means whether
      // it should be hidden after a period of time or the
      // user should dismiss it manually.
      $rootScope.$broadcast('event:notification', {message: 'Loading directory' + path, expires: true});

      return deferred.promise;
    };

    service.load = function (path, name) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    service.remove = function (path, name) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    service.save = function (path, name, contents) {
      var deferred = $q.defer();

      // Your magic goes here:
      // Do deferred.resolve(data); to fulfull the promise or
      // deferred.reject(error); to reject it.

      return deferred.promise;
    };

    return service;
  }

  angular.module('ramlEditorApp')
    .config(function (fileSystemProvider) {
      // Set myFileSystem as the filesystem to use
      fileSystemProvider.setFileSystemFactory(myFileSystem);
    });
</script>
<style>
  html,
  body {
    height: 100%;
  }
</style>
</body>
</html>

Contribution

If you want to contribute to this project, please read our contribution guide first.

License

Copyright 2013 MuleSoft, Inc. Licensed under the Common Public Attribution License (CPAL), Version 1.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].