Spring MVC - Refactoring d’un exemple jQuery Ajax Post

Spring MVC - Refactoring d'un exemple de publication jQuery Ajax

En examinant un exemple de formulaire jQuery Ajax POST et Spring MVC, découvrez les modèles suivants:

Dans Spring MVC, utilisez@RequestParam pour accepter les données Ajax POST.

    @RequestMapping(value = "/path-to/hosting/save", method = RequestMethod.POST)
    @ResponseBody
    public String saveHosting(
        @RequestParam int id, @RequestParam String domain, @RequestParam String name,
        @RequestParam String desc, @RequestParam String tags, @RequestParam String afflink,
        @RequestParam boolean display, @RequestParam boolean hosting,
        @RequestParam boolean cdn, @RequestParam boolean paas,
        @RequestParam String imageUrl, @RequestParam String favUrl,
        @RequestParam String whoisPattern
    ) {
        //...do something
    }

Le code ci-dessus fonctionne bien, juste un peu bizarre et difficile à maintenir. Javascript$.post et Spring MVC@RequestParam traitent tous deux trop de paramètres.

1. Refactorisation de JavaScript

En Javascript, je préfère utiliser$.ajax, tout stocker dans un tableau et le POSTER sur Spring MVC.

2. Refactoring Spring MVC

2.1 Create a POJO to store the Ajax POST data.

public class HostingForm {

    private boolean display;
    private boolean cdn;
    private boolean hosting;
    private boolean paas;
    private String whoisPattern;
    private long id;
    private String domain;
    private String name;
    private String desc;
    private String tags;
    private String affLink;
    private String imageUrl;
    private String favUrl;

    //getters and setters

2.2 Accept the Ajax POST data with @RequestBody

@RestController
//...

    @RequestMapping(value = "/path-to/hosting/save", method = RequestMethod.POST)
    public String updateHosting(@RequestBody HostingForm hostingForm) {
        //...
    }

Avec@RequestBody, Spring mappera automatiquement les données POST versHostingForm POJO (par nom). Terminé.

Note
Vous êtes intéressé par ce tutoriel -Complete Spring 4 MVC + Ajax Form Post example