nop*_*ope 19 java rest json web-services
我正在研究java restful web服务.我让它为GET请求工作,但POST请求不起作用.我的Controller类是RestController.到目前为止我做了这些:
@RequestMapping(value = "/api/signup", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public long signUp(@ModelAttribute ApiMemberModel apiMember) {
memberService = new MemberDetailsService();
Member m = memberService.createMember(apiMember.getUsername(), apiMember.getPassword(), apiMember.getEmail(), "");
return m.getId();
}
Run Code Online (Sandbox Code Playgroud)
还尝试了RequestBody而不是ModelAttribute.
我使用Postman扩展来发送POST请求.例如:
{
"username": "asd",
"password": "sfsdg",
"email": "sdfdsf@fdsfkg.com"
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
description The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?模型类是:
public class ApiMemberModel {
private String username;
private String password;
private String email;
public ApiMemberModel(String username, String password, String email) {
this.username = username;
this.password = password;
this.email = email;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Run Code Online (Sandbox Code Playgroud)
vto*_*ola 44
我打赌Postman的电话不包括Content-Type: application/json.
HTTP 415表示服务器不理解请求的媒体格式.在你的控制器中,你指定它接受JSON,但是你没有说过请求是否表明正文是那种格式.仅仅因为您将数据放在JSON格式中,并不意味着服务器将识别它,您必须在Content-Type标头中指明它.
| 归档时间: |
|
| 查看次数: |
45055 次 |
| 最近记录: |