J'ai quelques méthodes utilitaires que j'ai écrites dans Java, pour la création de données de test contre un service. Un couple de mes collègues qui ont le même cas pensaient que ce serait cool si elles pouvaient la réutiliser, mais ils écrivent respectivement leurs tests dans Perl et Python. Je pense donc à debout un service de repos JSON qui exposerait ces méthodes. p>
J'ai une expérience limitée Ecrire des applications Web. Quel serait le moyen le plus rapide de se lever et de déployer mon service? P>
Je pense utiliser Eclipse / Spring pour le faire et la fourmi pour déployer sur un conteneur à jetée. Mais j'aimerais entendre vos expériences à ce sujet. De plus, il semble que certains IDes / plugins ont un meilleur soutien à certaines technologies que d'autres. Je voudrais donc entendre ce que Stack IDE / Plugins + J2ee Technology + Server (si cela importe) est une bonne combinaison pour mon usecase et pourquoi. Je voudrais coller au logiciel Open Source. p>
9 Réponses :
Ce que nous allons dans ma société est un serveur Apache Tomee, utilisant JAX-RS pour exposer notre API en tant que services de repos. Il est facile à installer et à fonctionner facilement. P>
Je crois qu'utiliser Maven vous mène aussi vite que possible. Voici comment vous pouvez le faire.
Il utilise le Resease implémentation de JAX-RS (le API Java pour des services Web reposants EM>, une partie officielle de Java EE 6). P> Il s'agit d'un projet Java War Maven avec la structure minimale nue. Ce sont les fichiers: p> je l'ai appelé plus simple code> comme on le voit ci-dessous. Toutes les archives sont exactement comme indiqué: p> pom.xml: h3>
helloresource.java h3>
http://127.0.0.1:8080/simpleRest/rest/hello
Merci, c'est une excellente intro :)
Voici le moyen le plus court que je pouvais penser à une API de repos entièrement fonctionnel nécessitant uniquement Java, gradle , et un éditeur de texte. Créez deux fichiers dans un répertoire de projet propre comme suit:
package org.example;
import com.sun.jersey.api.core.ClassNamesResourceConfig;
import javax.ws.rs.*;
import javax.ws.rs.core.Response;
import javax.xml.bind.annotation.XmlRootElement;
@Path("/")
@ApplicationPath("/")
public class TheApplication extends ClassNamesResourceConfig {
public TheApplication() { super(TheApplication.class); }
static Foo foo = new Foo();
@GET @Produces("application/json")
public Foo getFoo() {
return foo;
}
@POST @Consumes("application/json")
public Response setFoo(Foo foo) {
TheApplication.foo = foo;
return Response.ok().entity("Stored it!").build();
}
@XmlRootElement
static class Foo {
private String message = "Hello World";
public String getMessage() { return message; }
public void setMessage(String message) { this.message = message; }
}
}
Merci, ce que je cherchais!
Eh bien, je vais lancer les NetBeans IDE groupés avec des poissons de verre 3.x dans la bague. P>
Téléchargez ce forfait, installez-le et JAX-RS Serving Up Services est une assistant de clic droit. Un téléchargement, une installation, complètement complet. Beaucoup de documentation, de magiciens et d'échantillons. P>
C'est vraiment le chemin le plus court, et c'est une boîte à outils complète. P>
Merci, je vais vérifier!
J'ai une bonne expérience avec Jersey, qui est la mise en œuvre de référence de JAX-WS. Il prend en charge les annotations JAX-WS et il est facile à utiliser. P>
En tant que consultant, je suis payé pour résoudre des problèmes. J'ai trouvé que la logique Espresso est le moyen le plus rapide pour moi de livrer l'API JSON / REST. Il fonctionne sur une fondation Tomcat et peut facilement être déployé localement, sur des beanstals élastiques ou Microsoft Azure. Il se connecte à toutes les principales bases de données SQL et me donne une API de repos instantanée pour toutes les tables, vues, procédures stockées et relations (qui servent à créer des ressources de style de documents plus complexes). Il a à la fois un studio HTML et une ligne de commande nœud.js pour l'administration. La meilleure fonctionnalité est la logique déclarative (comme une feuille de calcul) pour la formule, les dérivations et les validations. La logique peut être étendue à l'aide des bibliothèques JavaScript et Java Plugin. Je passe mon temps à écrire des solutions JavaScript et à laisser l'expresso à faire la levée forte de la pagination de repos, de verrouillage optimiste, d'optimisation de la requête SQL et de la logique de transaction multi-table. Divulgation complète - Je les ai connues depuis 25 ans et c'est la meilleure technologie changeante au jeu que j'ai vu. Vérifiez-le: www.espressologic.com p>
Je voudrais suggérer l'approche suivante pour écrire des services Web basés sur le repos. Le «script» suivez vous guidera pour créer un projet Web très simple et léger et léger utilisant Kikaha et Undertow . L'approche ci-dessous est très similaire à l'exemple basé sur JAXRS fourni par Ryan Stewart, mais avec des performances plus élevées et une empreinte faible en raison de l'architecture de Undertow (Undertow est vraiment rapide ).
Utilisez l'outil de ligne de commande de Kikaha pour créer un projet Stub: P>
Projet Kikaha Créer 2.0 --Name = My-APP P> LI>
Bien que la commande ci-dessus vous apporte quelques classes d'API de repos en attente, vous pouvez créer votre propre classe d'entité qui représente votre règle commerciale comme indiqué ci-dessous. P> Li> ol>
user.java strong> p> userresource.java strong> p> Exécutez votre projet 5MB via la ligne de commande: p>
KIKAHA RUN-APP P> LI>
ol> Disclaimer strong>: J'étais impliqué dans le développement de Kikaha et j'ai implanté de nombreux projets de pente depuis sa première version. P> P>
Pour accélérer à l'aide de maillot framework le long des lignes de Nous (Bitplan - Mon entreprise) ont créé les projets open source suivants: p> Voir les échantillons de code ci-dessous comment configurer: p> Test par exemple strong> p> ExemplesServer fort> p> utilisateur strong> p>
Toutes les réponses s'appliquent à l'utilisation de Java localement avec un conteneur local. Si vous envisagez des environnements cloud qui prennent en charge les extensions Java (et Java-like), vous pourrez peut-être le faire avec une seule.
La plate-forme Raimme offre une annotation de @REST PRAST. Tout ce que vous avez à faire est de définir l'URL, et votre service de repos sera exposé automatiquement: P>
@Rest(url = "customer/list")
@ResponseBody
public String getCustomer()
{
return "[]";
}
Réponse tangente, mais j'ai trouvé Python + Gunicorn d'être vraiment rapide pour faire des maquettes de repos rapide lorsque je m'intègre avec un service tiers
Merci pour la réponse, Ron, mais je suis vraiment à la recherche d'une solution Java puisque mon code est en Java.
Jetez un coup d'œil à la pile de repos d'Airbnb, qui est Jetty, Jersey et Jackson. nerds.airbnb.com/httpjson-services-in-modern-java