Skip to content

AgileSpirit/OpenAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pré-requis

Les programmes suivant doivent être installés et opérationnels :

  1. Java JDK 1.7
  2. Maven 3.0

Configurer et lancer l'application

Dans Eclipse

OpenAPI est approuvée pour Eclipse > 4.2.1.

  1. Générer le projet via maven
$ mvn eclipse:eclipse -Dwtpversion=2.0
  1. Importer le projet dans Eclipse
"File" -> "Import..." -> "General" -> "Existing Projects into Workspace"
  1. Exécuter la classe Main.java
Menu contextuel -> "Run As" -> "Java Application"

En ligne de commande

$ mvn clean package ; java -cp target/classes:"target/dependency/*" com.agile.spirit.openapi.Main

Avec Maven

$ mvn clean compile exec:java

Quelque soit la méthode, si tout s'est bien passé, la console / le terminal affiche :

Jersey app started with WADL available at http://0.0.0.0:9998/application.wadl
Hit enter to stop it...

Pour arrêter l'application, dans la console Eclipse ou dans le terminal, presser la touche "Entrée"

Définition d'une Note

Attribut Type Description
note_id/ Integer Identifiant unique
user_id Integer Référence de l'auteur
title String Titre de la note
content String Contenu de la note
creation_date Datetime Date de création
modification_date Datetime Date de dernière mise à jour

Exemple d'une Note au format JSON :

{
  "note_id" : 12345,
  "user_id" : 67890,
  "title" : "Titre de ma note",
  "content" : "Contenu de ma note",
  "creation_date" : 1361715327,
  "modification_date" : 1361819642
}

Définition de l'API

Service Verbe Description
notes?:owner_id GET Récupérer la liste des notes de l'utilisateur
notes/all/ GET Récupérer la liste de toutes les notes
notes/all/export/ GET Exporter la liste de toutes les notes au format PDF
notes/search/{pattern} GET Récupérer les notes de l'utilisateur dont le titre ou le contenu correspondent à l'expression
notes/details/{noteId} GET Récupérer le détail d'une note
notes POST Ajouter une note
notes PUT Mettre à jour une note
notes/{noteId} DELETE Supprimer une note

Exemple en ligne

Une version de démonstration de l'API est accessible en ligne, sur Heroku : http://openapi.herokuapp.com/notes/all

Exemple d'appel JQuery

Une version de démonstration d'un client HTML/JS/JQuery est accessible en ligne : http://agile-spirit.fr/OpenAPI/

Le code de la page HTML correspondante est accessible dans les sources : src/main/resources/html/index.html

loadNotes();

function loadNotes() {
  $.ajax({
    type: 'GET',
    url: 'http://openapi.herokuapp.com/notes/all',
    success: function(data) {
      renderNotes(data);
    }
  });  
}

function renderNotes(data) {
  // JAX-RS serializes an empty list as null, and a 'collection of one' as an object (not an 'array of one')
  var list = (data == null || data.note == null) ? [] : (data.note instanceof Array ? data.note : [data.note]);

  $('#noteList .note').remove();
  
  $.each(list, function(index, note) {
    var noteHtml = '';
    noteHtml = noteHtml.concat('<div id="note_' + index + '" class="note">').concat("\n");
    noteHtml = noteHtml.concat('  <div class="title"><strong>' + note.title + '</strong></div>').concat("\n");
    noteHtml = noteHtml.concat('  <div class="content">' + note.content + '</span>').concat("\n");
    noteHtml = noteHtml.concat('</div>').concat("\n");
    $('#noteList').append(noteHtml);
  });
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages