Spring MVC - Ein jQuery Ajax Post-Beispiel wurde umgestaltet

Spring MVC - Refactoring eines Beispiels für jQuery Ajax Post

Wenn Sie ein jQuery Ajax-Formular-POST- und Spring MVC-Beispiel überprüfen, müssen Sie die folgenden Muster ermitteln:

Verwenden Sie in Spring MVC@RequestParam, um die Ajax-POST-Daten zu akzeptieren.

    @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
    }

Der obige Code funktioniert gut, nur ein bisschen seltsam und schwer zu pflegen. Sowohl Javascript$.post als auch Spring MVC@RequestParam verarbeiten zu viele Parameter.

1. Refactoring von JavaScript

In Javascript bevorzuge ich$.ajax, speichere alles in einem Array und poste es an 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) {
        //...
    }

Mit@RequestBody ordnet Spring die POST-Daten automatischHostingForm POJO (nach Namen) zu. Erledigt.

Note
Sie interessieren sich für dieses Tutorial -Complete Spring 4 MVC + Ajax Form Post example