运维开发网

SpringCloud Finchley三版本微服务实战

运维开发网 https://www.qedev.com 2021-02-24 10:38 出处:51CTO 作者:mb60197fdc4efe6
download:SpringCloudFinchley三版本微服务实战本门课程以点餐业务为例,使用SpringBoot2.x配合SpringCloud核心组件,剖析微服务原理。利用Rancher+Docker实现容器编排,SpringCloudSleuth集成Zipkin实现分布式链路追踪,带你领略最潮的微服务实现方案。适合人群相比其它课程,本课程专注于利用SpirngCloud核心组件实现微服

download:SpringCloud Finchley三版本微服务实战

本门课程以点餐业务为例,使用Spring Boot2.x 配合SpringCloud核心组件,剖析微服务原理。利用Rancher+Docker实现容器编排,SpringCloud Sleuth集成Zipkin实现分布式链路追踪,带你领略最潮的微服务实现方案 。

适合人群

相比其它课程,本课程专注于利用SpirngCloud核心组件实现微服务

只要你已较为熟练的掌握SpringBoot,有一定的实际项目经验

即可学习本课程

技术储备要求

对SpringBoot的基础知识熟练掌握

Linux和Docker的基本用法熟练掌握

public class ObjectIdConverter : JsonConverter

{

public override bool CanConvert(Type objectType)

{

return objectType == typeof(ObjectId);

}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)

{

if (reader.TokenType != JsonToken.String)

{

throw new Exception(

String.Format("Unexpected token parsing ObjectId. Expected String, got {0}.",

reader.TokenType));

}

var value = (string)reader.Value;

return String.IsNullOrEmpty(value) ? ObjectId.Empty : new ObjectId(value);

}

public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)

{

if (value is ObjectId)

{

var objectId = (ObjectId)value;

writer.WriteValue(objectId != ObjectId.Empty ? objectId.ToString() : String.Empty);

}

else

{

throw new Exception("Expected ObjectId value.");

}

}

}

在ObjectId字段上加一行代码即可

[JsonConverter(typeof(ObjectIdConverter))]

public string _id { get; set; }

假如运用Newtonsoft的JsonConvert的话,还需求额外加上参数

JsonConvert.DeserializeObject<xxxx>(json,new ObjectIdConverter());

3、经过Ignore,一种很有技巧性的写法

[JsonIgnore]

public override ObjectId _Id { get; set; }

[BsonIgnore]

public string _IdStr

{

get

{

return Id.ToString();

}

set

{

ObjectId id;

ObjectId.TryParse(value, out id);

Id = id;

}

}

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号