Curl-Spring复杂对象为空
我正在使用SpringBoot开发REST应用程序 重要代码如下所示:Curl-Spring复杂对象为空,spring,curl,Spring,Curl,我正在使用SpringBoot开发REST应用程序 重要代码如下所示: Controller @PostMapping(value = "/addUpdateNewsItem") public ResponseEntity<Object> addUpdateNewsItem( @RequestBody NimbusNewsDto dto, Principal principal) { the DTO: public cla
Controller
@PostMapping(value = "/addUpdateNewsItem")
public ResponseEntity<Object> addUpdateNewsItem(
@RequestBody NimbusNewsDto dto,
Principal principal) {
the DTO:
public class NimbusNewsDto {
private String userDn;
private NimbusNewsJson newsItem;
NimbusNewsJson:
private String nimbusId;
private String subject;
private String description;
private String creator;
private String createDate;
private String expirationDate;
Curl:
curl -k -d @newsItem1.json -H "Content-Type: Application/json" http://localhost:8443/baseline/news/addUpdateNewsItem
the data:
{"newsDto":{
"userDn": "localhost",
"newsItem": {
"nimbusId": "nimbusId1",
"subject": "subject1",
"description": "Hello I am the first news item",
"creator": "God",
"createDate": "23/Jul/2020:02:15:11",
"expirationDate": ""
}
}}
{
"userDn": "localhost",
"newsItem": {
"nimbusId": "nimbusId1",
"subject": "subject1",
"description": "Hello I am the first news item",
"creator": "God",
"createDate": "23/Jul/2020:02:15:11",
"expirationDate": ""
}
}
控制器
@PostMapping(value=“/addUpdateNewItem”)
公共响应标题addUpdateNewsItem(
@请求主体NimbusNewsDto dto,
(校长){
运输署署长:
公共类NimbusNewsDto{
私有字符串userDn;
私有NimbusNewsJson新闻项目;
NimbusNewsJson:
私有字符串nimbusId;
私有字符串主题;
私有字符串描述;
私有字符串创建者;
私有字符串createDate;
私有字符串过期日期;
卷曲:
curl-k-d@newsItem1.json-H“内容类型:Application/json”http://localhost:8443/baseline/news/addUpdateNewsItem
数据:
{“newsDto”:{
“userDn”:“localhost”,
“新闻项目”:{
“nimbusId”:“nimbusId1”,
“主题”:“主题1”,
“说明”:“你好,我是第一条新闻”,
“创造者”:“上帝”,
“createDate”:“23/Jul/2020:02:15:11”,
“到期日期”:”
}
}}
我花了一段时间来克服导致“错误请求”等的格式错误。现在,当我进行调用并调试代码时,我看到dto对象有两个项,它们都是空的。我尝试了“和”和转义字符的多种组合,但都没有成功
我在windows下运行Ubuntu shell,spring代码在Tomcat上运行
建议?上次我遇到这个问题时,我将DTO对象分解为多个参数,但我只是将DTO作为输入。您发送的json与DTO不“匹配”,有一个额外的对象“包装”您的DTO 您必须删除此部分:
{
"newsDto": {
...
}
像这样:
Controller
@PostMapping(value = "/addUpdateNewsItem")
public ResponseEntity<Object> addUpdateNewsItem(
@RequestBody NimbusNewsDto dto,
Principal principal) {
the DTO:
public class NimbusNewsDto {
private String userDn;
private NimbusNewsJson newsItem;
NimbusNewsJson:
private String nimbusId;
private String subject;
private String description;
private String creator;
private String createDate;
private String expirationDate;
Curl:
curl -k -d @newsItem1.json -H "Content-Type: Application/json" http://localhost:8443/baseline/news/addUpdateNewsItem
the data:
{"newsDto":{
"userDn": "localhost",
"newsItem": {
"nimbusId": "nimbusId1",
"subject": "subject1",
"description": "Hello I am the first news item",
"creator": "God",
"createDate": "23/Jul/2020:02:15:11",
"expirationDate": ""
}
}}
{
"userDn": "localhost",
"newsItem": {
"nimbusId": "nimbusId1",
"subject": "subject1",
"description": "Hello I am the first news item",
"creator": "God",
"createDate": "23/Jul/2020:02:15:11",
"expirationDate": ""
}
}
我原以为我试过那种特殊的组合,但显然我没有。谢谢!