2011-06-20 3 views
0

J'ai créé une application iOS/Android très basique. L'étape suivante consiste à charger l'application de certaines données à partir d'un serveur. Pour l'instant, tout ce dont j'ai besoin est d'obtenir un XML à partir duquel je vais charger les données d'un serveur local qui aura quelques fonctions simples. Quelle est l'approche la plus rapide pour atteindre cet objectif? Je suis sur une machine Mac, et je ne me soucie pas de la langue, bien que je pensais à Java ou à Python.Simple web service local reposant

+0

Pourquoi ne pas servir des fichiers JSON statiques, si nécessaire uniquement à des fins de test ? –

+0

Parce que j'ai besoin d'une fonction, quelque chose de vraiment simple. Probablement juste être capable de récupérer deux versions d'un fichier xml selon un seul paramètre serait suffisant – bluehallu

Répondre

2

Je recommande fortement l'utilisation de Jersey. Ce framework Java est léger, facile à utiliser et constitue l'implémentation de référence JAX-RS. Il produit XML et JSON hors de la boîte. Its documentation est un bon endroit pour commencer.

Qu'est-ce que vous avez besoin:

  • un projet Java
  • un web.xml
<web-app> 
    <servlet> 
    <servlet-name>jersey</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer 
     </servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>jersey</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 
  • quelques dépendances (Jersey-core et jersey serveur) , en utilisant maven, éditer le fichier pom.xml est suffisant
<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-server</artifactId> 
    <version>1.7</version> 
</dependency> 
  • une ressource
@Path("/product") 
public class ProductResource { 

    @GET 
    public Response getCallbackUrl() { 
    Product product = new Product("bike"); 
    return Response.ok(product).build(); 
    } 
} 
  • un serveur. Si vous n'utilisez un serveur Java, en utilisant Jetty Embedded est le plus simple:
package com.xebia.server; 

import org.mortbay.jetty.Server; 
import org.mortbay.jetty.webapp.WebAppContext; 

public class EmbeddedServer { 

    static Server server; 
    static int port = 8080; 

    public static void main(String args[]) throws Exception { 
     server = new Server(port); 
     server.addHandler(new WebAppContext("src/main/webapp", "/")); 
     server.start(); 
    } 
} 

Et vous avez terminé

+0

Le fait est que nous avons juste besoin d'un tutoriel rapide pour obtenir un service web simple à des fins de test seulement, nous avons juste besoin de 2 fonctions qui retournent 2 XMLS différents et simples, cette documentation semble énorme! – bluehallu

+0

Beaucoup à voir, oui, mais très facile à démarrer. Une heure ou deux suffit pour ce que vous essayez de faire, à partir de rien. Réponse mise à jour –

+0

Que dois-je faire avec ce code? – bluehallu

Questions connexes