当前位置: 首页 > news >正文

主题网页设计苏宁网站优化与推广

主题网页设计,苏宁网站优化与推广,网站建设的具体过程,网店运营推广中级实训在Spring Boot中#xff0c;当使用RequestBody注解来接收HTTP请求中的JSON数据并将其转换为Java对象时#xff0c;Spring默认会忽略额外的属性。这意味着如果发送的JSON包含一些目标对象中没有定义的属性#xff0c;Spring不会报错#xff0c;这些额外的属性会被简单地忽略…在Spring Boot中当使用RequestBody注解来接收HTTP请求中的JSON数据并将其转换为Java对象时Spring默认会忽略额外的属性。这意味着如果发送的JSON包含一些目标对象中没有定义的属性Spring不会报错这些额外的属性会被简单地忽略。 例如假设有一个Java对象User如下所示 private String name;private int age;// getters and setters }如果发送一个包含name和age以及额外属性email的JSON到Spring Boot应用Spring会正常地将name和age映射到User对象而email属性会被忽略 {name: John,age: 30,email: johnexample.com }如果希望Spring在接收到包含未知属性的JSON时抛出错误可以使用以下几种方法 1. 使用Validated和JsonIgnoreProperties(ignoreUnknown false) 可以通过自定义一个配置或者使用一个专门的类来处理JSON反序列化时的行为。例如可以创建一个配置类来全局设置Jackson的属性忽略行为 import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;Configuration public class JacksonConfig {Beanpublic ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {return builder.createXmlMapper(false).build().setConfig(builder.createXmlMapper(false).build().getDeserializationConfig().with(builder.deserializationConfig().with(builder.deserializationConfig().with(org.codehaus.jackson.map.DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, true))));} }2. 使用JsonIgnoreProperties注解 在控制器方法参数上使用JsonIgnoreProperties(ignoreUnknown false)来强制要求所有未知属性都抛出异常 import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;RestController public class UserController {PostMapping(/users)public User createUser(RequestBody JsonIgnoreProperties(ignoreUnknown false) User user) {// 处理用户创建逻辑...return user;} }3. 使用自定义的转换器或反序列化器 创建一个自定义的反序列化器并在其中显式地检查未知属性并抛出异常 import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.JsonNode; import java.io.IOException; import org.springframework.boot.jackson.JsonComponent;JsonComponent public class CustomUserDeserializer extends JsonDeserializerUser {Overridepublic User deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {JsonNode node p.getCodec().readTree(p);if (!node.isObject()) {throw new IOException(Expected JSON object, but got node);} else {IteratorMap.EntryString, JsonNode fields node.fields();User user new User();while (fields.hasNext()) {Map.EntryString, JsonNode entry fields.next();String fieldName entry.getKey();if (name.equals(fieldName) || age.equals(fieldName)) { // 只允许这些字段存在忽略其他所有字段。如果需要更复杂的行为请根据需要调整此逻辑。// 设置user的属性...例如: user.setName(entry.getValue().asText()); 等等。 确保处理所有可能的字段。 否则抛出异常或忽略。 例如 抛出 new RuntimeException(Unknown property: fieldName); 如果想要抛出异常。 否则可以选择忽略。
http://www.pierceye.com/news/756612/

相关文章:

  • 网站开发遵循软件管理工程师
  • 网站开发问题论文武进网站建设机构
  • 网站建设有哪些种类网站开发工程师岗位
  • 电大形考任在哪个网站做旺道seo优化软件怎么用
  • 新网 网站备案好的作文网站
  • 网站建设技术外包深圳建设公司网站
  • 做旅游网站的数据怎么来垦利网站设计
  • 附近那里有做网站的微信公众平台注册官网
  • 雏鸟短视频app软件下载网站网站建设心得体会500字
  • 权威发布型舆情回应大连网站优化多少钱
  • 怎么做网站步骤免费的怎么用虚拟主机做网站步骤
  • 网站建设精品课程南昌企业网站建设哪家好
  • 网站空间不够用怎么办电子商务公司名字
  • 策划方案网站wordpress设置视频图片
  • 餐饮设计网站有哪些做副业的网站
  • 如何建设一个电子商务网站四川网站建设电话
  • 网站制作学习学网站开发顺序
  • 外语网站建设怎么知道网站的ftp
  • 苏州专业做网站的公司有哪些网络机柜定制
  • 提供服务的网站免费的进销存软件哪个简单好用
  • 长沙县政务网站网络公司名字大全寓意
  • 网站后台凡科建设有做网站维护的
  • 搭建网站需要什么软件上海在线
  • led灯外贸网站建设网站代码怎么优化
  • 网站建设维护什么意思江苏网络推广专员
  • 潍坊网站开发asp培训珠海市网站建设公司
  • 用什么做响应式网站建行个人余额查询网站
  • 做网站网站代理怎么找客源企业团建公司
  • 电子商务网站开发实战济南兼职做网站
  • 怎样创建网站视频学历提升的重要性