【发布时间】:2017-03-13 13:34:58
【问题描述】:
我使用开箱即用的扩展在我的 Hybris 6.3(spring 4.3)中实现了一个安静的网络服务。
以下是我的控制器代码:-
@Controller
@RequestMapping(value = "/{baseSiteId}/dealer")
public class DealerController extends BaseController {
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public DealerData getCatalogs() {
DealerData dealerData = new DealerData();
//my code
...................
return dealerData;
}
@RequestMapping(method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public DealerData saveCatalogs(@RequestBody final DealerData dealerData) {
//my code
...................
return dealerData;
}
}
DealerData 类:-
private String uid;
private String firstName;
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
我可以使用 Postman/Advanced REST 客户端通过 GET 请求访问 get 方法 -
http://localhost:9001/testcommercewebservices/v2/test-site/dealer
但无法访问 POST 方法 -
http://localhost:9001/testcommercewebservices/v2/test-site/dealer
正文为 JSON 格式
{
"uid": "123",
"firstName": "test",
"lastName": "test"
}
【问题讨论】:
-
您的 GET 和 POST 请求有不同的上下文路径。 GET 操作对两者都有效吗?
-
是的。GET 对两者都有效。我应该怎么做才能避免这种情况?如何单独设置 POST 的上下文路径?
-
从 Postman 打来的状态码是什么?
-
状态码是 404 Not Found。
-
你把这个类放在了哪些扩展中?您是否在类路径中注册了 Jakson 映射器?您是否启用了注释驱动的行为?
标签: java rest spring-mvc hybris