web-dev-qa-db-fra.com

De quoi ai-je besoin pour créer un serveur API RESTful en Java?

Je voudrais créer mon propre serveur API RESTful et je n'ai aucune idée de ce dont j'ai besoin pour cela.

Je vais vous parler un peu du projet:

Sur un Webservice (www.mysite.com/), les utilisateurs peuvent enregistrer et gérer leur compte, etc. Mais ils peuvent également utiliser l'API RESTful (mysite.com/api/...) et peuvent faire à peu près la même chose via REST.

Quelle est la bonne façon de réaliser cela? Dois-je utiliser la jetée ou quelque chose de similaire? Dois-je diviser le service Web et l'api reposant? qu'est-ce que j'ai une bonne architecture pour ça?

Merci :)

42
Rob Anderson

Vous pouvez utiliser le contrôleur Spring pour créer un serveur reposant. Vous pouvez l'exécuter sur Tomcat ou la jetée n'a pas d'importance.

Vérifiez cette URL: http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch18s02.html

12
erimerturk

Tomcat et Jersey sont faciles à mettre en service. J'ai eu quelques problèmes avec Tomcat 7 et Jersey, mais avec Tomcat 6, c'était simple.

Ce tutoriel est assez facile à suivre. C'est un peu vieux, mais le principe reste le même.

4
Paaske

En 2017, l'une des meilleures solutions serait d'utiliser Spring Boot . Vous donne de grands effets sans écrire des tonnes de code.

@RestController
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }

}
3
Marcin Szymczak

IBM fournit un bon ensemble d'informations et de didacticiels sur la création d'un service Web RESTful avec Java ( Link ). Après avoir exécuté votre service Web, vous pouvez le déployer sur Amazon. un coup d'oeil à AWS Elastic Beanstalk .

3
mert

J'ai trouvé un exemple simple sur http://coder2design.com/rest-web-services/ pour construire une application REST.

  • Le schéma XML (xsd) est utilisé pour créer des classes de domaine.
  • Eclipse EE est utilisé comme IDE et Maven pour la construction.
  • Jersey comme cadre pour REST
  • Hibernate pour la couche de persistance.
  • MySQL en tant que DB

Toutes les autres configurations sont bien expliquées.

1
Jatinder Pal