Monday 15 September 2014

angularjs - Mapping json object to Spring object in REST service -



angularjs - Mapping json object to Spring object in REST service -

i have rest service defined in spring follows:

@requestmapping(value = "/create", method = requestmethod.post) @responsebody public responseentity<string> addarticle(@requestbody article article){ try{ articleservice.addarticle(article.gettitle(), article.getcontent(), article.gettags(), article.getpublishstatus(), article.getcompanyid(), article.getcategory()); homecoming new responseentity<string>(httpstatus.ok); } grab (exception e){ e.printstacktrace(); homecoming new responseentity<string>(e.getmessage(), httpstatus.ok); } }

and article defined follows:

public class article { private int id; private string title; private string content; private string smscontent; public string getsmscontent() { homecoming smscontent; } public void setsmscontent(string smscontent) { this.smscontent = smscontent; } private string[] tags; private int companyid; private string category; public string getcategory(){ homecoming category; } public void setcategory(string category){ this.category = category; } private byte publishstatus; public string gettitle(){ homecoming title; } public void settitle(string title){ this.title = title; } public string getcontent(){ homecoming content; } public void setcontent(string content){ this.content = content; } public string[] gettags(){ homecoming tags; } public void settags(string[] tags){ this.tags = tags; } public int getcompanyid(){ homecoming companyid; } public void setcompanyid(int companyid){ this.companyid = companyid; } public byte getpublishstatus(){ homecoming publishstatus; } public void setpublishstatus(byte publishstatus){ this.publishstatus = publishstatus; } public int getid(){ homecoming id; } public void setid(int id){ this.id = id; } }

how phone call service using angular? tried next code:

function createarticle(name, companyid, title, content, tags, category) { var request = $http({ method : 'post', url : '/inbound/api/article/create.json', headers : { 'content-type' : 'application/x-www-form-urlencoded' }, transformrequest : function(obj) { var str = []; ( var p in obj) str.push(encodeuricomponent(p) + "=" + encodeuricomponent(obj[p])); homecoming str.join("&"); }, info : { title : title, content : content, tags : tags, companyid : companyid, category: category } });

i getting error 415 (unsupported media type). ideas?

since you're working json, need set form , handler accordingly.

rest handler

@requestmapping(value = "/create", method = requestmethod.post, consumes = "application/json")

angular

headers : { 'content-type' : 'application/json' },

json angularjs spring rest spring-mvc

No comments:

Post a Comment