I guess I'm looking more for advice than any specific coding solutions. Here's the scenario:

* I have a form where a new user can be created
* This form is accessed via a GET request through a Spring controller

```
@RequestMapping(value = "/secure/clients", method = RequestMethod.GET)
public String prepareNewClient(final Principal principal, final ModelMap map) {
    map.addAttribute("client", new Client());
    return "secure/clients";
}

```
* The form is presented, all works fine and I submit the new client using `$.ajax({})`
* The submission triggers a POST request using the same URL to the following method on my controller

```
@RequestMapping(value = "/secure/clients", method = RequestMethod.POST)
public @ResponseBody JsonResponse saveClient(
    @ModelAttribute("client") final Client client,
    final BindingResult result,
    final Principal principal,
    final ModelMap map) {

    // validate input
    // save client
    // prepare JsonResponse object

    return jsonResponse;
}

```

After completion, I want to keep the user on the same screen and have **the form trigger a PUT instead of a POST**. Which is fine, I can achieve that with jQuery, but as soon as I submit the form again, the client is not on the `ModelMap` anymore.

I have even tried adding the saved client to the `ModelMap` of my POST method but even that didn't work.

I'm not entirely sure if I'm doing it the right way. To be honest, every tutorial I've seen uses more or less what I'm doing but **NONE** of them have a PUT request - mostly deal with creation of objects, which I don't have an issue.

What I have in mind is that I might need to have a controller method mapping to `/secure/clients/{clientId}` with `HTTP.GET` and another controller method mapping `/secure/clients/{clientId}` with `HTTP.PUT`.

But I'm not sure if that makes sense, so I'm a bit lost.

* Should I create my controllers entirely on JSON calls?
* Should I redirect the user and forget about AJAX calls in this scenario?

Suggestions are more than appreciated. Thank you!