At the risk of promoting my own tool, I created a tool (in Clojure and
ClojureScript) to debug just this sort of problem. It's called: POSThere.io (
https://github.com/SnootyMonkey/posthere.io )
Point your cURL command at POSTHere.io (you make up whatever URL you want, so I
just used the same one you were using, /todo/todos/delete):
curl -H "Content-Type: application/json" -X POST -d "{\"id\":1}"
http://posthere.io/todo/todos/delete
And update your CLJS code to use POSTHere.io:
(ajax/POST "http://posthere.io/todo/todos/delete"
{:format :json
:response-format :json
:handler #(dispatch [:handle-del-resp %1])
:error-handler #(dispatch [:handle-error %1])
:params {"id" id}})
Then visit that POSThere.io URL: http://posthere.io/todo/todos/delete
It'll show all the details about your two posts and you can see exactly how
they differ.
Cheers,
Sean
On Friday, July 3, 2015 at 8:16:39 AM UTC-4, Bin Li wrote:
> I have spring contoler which talking json like :
>
> @RequestMapping(value = "/todos/delete", method = RequestMethod.POST)
> public String deleteTodo(@RequestBody Todo todo, Model model) {
>
> logger.info("/todos/delete : todo = " + todo);
> String status = "ok";
> int num = 0;
> try {
> int id = todo.getId();
> num = todoMapper.deleteByPrimaryKey(id);
> } catch (Exception e) {
> logger.error("/todos/delete failed : " + e);
> status = "fail";
> }
>
> // result
> model.addAttribute("out", "deleted " + num + " todo(s)");
> model.addAttribute("status", status);
> return jsonTemplate;
> }
>
> With curl , I can post it like:
>
> curl -H "Content-Type: application/json" -X POST -d "{\"id\":1}"
> http://localhost:8080/todo/todos/delete
>
> Then I can get todo initialized.
>
> But if I post with JulianBirch/cljs-ajax :
>
> (ajax/POST "/todo/todos/delete"
> {:format :json
> :response-format :json
> :handler #(dispatch [:handle-del-resp %1])
> :error-handler #(dispatch [:handle-error %1])
> :params {"id" id}})
>
> I am getting todo return null.
>
> Any point will be appreciated, thanks in advanced!
--
Note that posts from new members are moderated - please be patient with your
first post.
---
You received this message because you are subscribed to the Google Groups
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.