C# model 映射 java model

开发过程中,两个服务分别用C#和java,在通信的过程由于各自命名习惯导致双方无法获取到具体的值。如下步骤

1,定义C# model

public class HostReceiveModel
    {
    
    
        public string TaskId {
    
     get; set; }
    }    

2,实例化C#model

HostReceiverModel model = new HostReceiveMode{
    
    
	TaskId = "abc";
}

3,定义java model (有问题)

public class AgvStateResponse {
    
    
    private String taskId ;
    public String getTaskId() {
    
    
        return taskId;
    }
    public void setTaskId(String taskId) {
    
    
        this.taskId = taskId;
    }
}

4,C#服务用post将model发送给java服务

java接受到的taskId=null,研究了一下,只需要在定义java model 时候用json 的annotation 映射一下。

正确写法如下所示:

public class AgvStateResponse {
    
    
    private String taskId ;
    public String getTaskId() {
    
    
        return taskId;
    }
     @JsonProperty(value="TaskId") //这里一定要写成c#里面定义的名字
    public void setTaskId(String taskId) {
    
    
        this.taskId = taskId;
    }
}

猜你喜欢

转载自blog.csdn.net/hongyinanhai00/article/details/109727189