当前位置: 首页 > 知识库问答 >
问题:

如何在@RestController参数中使用@XmlJavaTypeAdapter?

孔安福
2023-03-14

我有下面的restcontroller,想用< code>thedate=2016-08-08格式获取-查询控制器。

它应该自动转换为本地日期。但是我的 Xml 适配器无法正常工作。为什么?

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import javax.xml.bind.annotation.adapters.XmlAdapter;

public class LocalDateAdapter extends XmlAdapter<String, LocalDate> {

    @Override
    public LocalDate unmarshal(String v) throws Exception {
        return LocalDate.parse(v, DateTimeFormatter.ISO_LOCAL_DATE);
    }

    @Override
    public String marshal(LocalDate v) throws Exception {
        return DateTimeFormatter.ISO_LOCAL_DATE.format(date);
    }
}

@RestController
public class MyServlet {
   @RequestMapping(value = "/", method = RequestMethod.GET)
   private String test(RestParams p) {

   }
}

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RestParams {
        @Valid
        @NotNull
        @XmlElement(required = true, nillable = false)
        @XmlJavaTypeAdapter(value = LocalDateAdapter.class)
        private LocalDate thedate;
}

结果:

“thedate”:无法将类型[java.lang.String]的属性值转换为属性“thedate”所需的类型[Java . time . local date];嵌套异常为org . spring framework . core . convert . conversionfailedexception:无法将值“2016-08-08”从类型[java.lang.String]转换为类型[@ javax . validation . valid @ javax . validation . constraints . not null @ javax . XML . bind . annotation . XML element @ javax . XML . bind . annotation . adapters . xmljavatype adapter Java . time . local date];嵌套异常是Java . time . format . datetimeparseexception:无法在索引2处分析文本“2016-08-08”

共有1个答案

严恩
2023-03-14

我不知道为什么它不起作用,但我使用Spring注释解决了它:

   @org.springframework.format.annotation.DateTimeFormat.DateTimeFormat(iso = ISO.DATE)
   private java.time.LocalDate thedate;
 类似资料:
  • 问题内容: 我正在通过此方法使用RESTfull Web服务: 在我的Android应用中,我想调用此方法。如何使用org.apache.http.client.methods.HttpPost给参数赋予正确的值; 我注意到我可以使用批注@HeaderParam并将标题添加到HttpPost对象。这是正确的方法吗?这样做: 在httpPost上使用setEntity方法将不起作用。它仅使用json

  • 本文向大家介绍如何在PowerShell中使用ErrorAction参数?,包括了如何在PowerShell中使用ErrorAction参数?的使用技巧和注意事项,需要的朋友参考一下 像ErrorActionPreference变量一样,ErrorAction参数的工作原理类似。高级功能和PowerShell中大多数内置cmdlet均支持ErrorAction参数。将非终止错误转换为终止错误,然后

  • 问题内容: 例如,我有4000行,并且定义了X限制。 找到X行后查询停止?还是查询找到所有行,然后从找到的行中获取X行? 谢谢你。 问题答案: 从MySQL参考手册: 如果您将LIMIT row_count与ORDER BY一起使用,MySQL会在找到排序结果的前row_count行后立即结束排序,而不是对整个结果进行排序。如果通过使用索引进行排序,这将非常快。如果必须完成文件排序,则必须先选择所

  • 问题内容: 有人可以给我一些在函数中使用输出参数的示例代码吗?我尝试过使用Google,但只是在功能中发现了它。我想在另一个函数中使用此输出值。 我正在开发的代码打算在Android中运行。 问题答案: Java通过值传递;没有像C#这样的参数。 您可以使用,或更改 作为 参考传递的对象( 按 值)。 代码样例 至于OP需要帮助的代码,以下是使用特殊值(通常用于引用类型)指示成功/失败的典型解决方

  • 问题内容: 有和选项,但不清楚如何使用。 一开始,我认为它有点像dumb-init,但包含在docker core中(有点像“ native”)。但是也需要设置关键要求,指向“ docker- init二进制文件”,并且不知道在何处使用它。Google对“ docker-init”保持沉默。 好的,也许我应该使用’yelp / dumb-init’或’phusion / baseimage- do

  • 在我的项目中,当我只需单击主页上的“加入房间”按钮时,它会将我指向特定的房间。以房间号为例;它发生在xPOgk21523aqPW上,它通过一个像localhost:3000/room/xPOgk21523aqPW这样的扩展来实现。当我进行重定向时,我所在组件的名称是Player。我想要的是,当我将Homapage.js重定向到Player.js时,能够使用Player.js中的代码“xPOgk21