小编Pha*_*mar的帖子

从post man(休息服务)如何发送json日期(字符串格式)到接受日期对象的java

如何通过postman发送下面的JSON后,将dateOfJoining值(String类型)绑定到"DateInput"类中的成员变量"dateOfJoining"(日期类型).如何使用相同的格式dd/MM/yyyy将String中的String转换为Date对象.转换日期应该在Date对象中,而不是String.

Json如下所示

{
 "dateOfJoining" : "03/04/2017"
}
Run Code Online (Sandbox Code Playgroud)

邮局中的服务URL命中 - localhost/Rest/hello

java中的RestService类 - HandleRestRequest.java

@RestController
public class HandleRestRequest
{

  @RequestMapping("\hello");
  public List setRequestParams(@RequestBody DateInput dateInput)
 {
   .......
  }
 }

 Pojo Class DateInput.java

  public class DateInput
 {
  private  Date dateOfJoining;
   .......
  }
Run Code Online (Sandbox Code Playgroud)

如果我以下面的格式从json发送日期,其投掷错误为不满意的输入

 {
  "dateOfJoining" : 04/04/2017
 }
Run Code Online (Sandbox Code Playgroud)

所以我将它作为字符串格式发送,并将dateOfJoining更改为DateInput.java文件中的字符串,稍后我尝试将其转换为日期对象,如下所示

修改DateInput.java文件,从Date到String

 public class DateInput
 {
  private  String dateOfJoining;
   .......
 }
Run Code Online (Sandbox Code Playgroud)

修改了JSON

{
 "dateOfJoining" : "04/04/2017"
}
Run Code Online (Sandbox Code Playgroud)

用于将用户输入从String转换为Date的代码

 DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
  String convertedDate = sdf.format(dateInput.getDateOfJoining());
Run Code Online (Sandbox Code Playgroud)

它转换为所需的格式但返回类型是String但预期是发送DAO层的Date对象.所以我尝试了sdf.parse,它返回Date对象但不是必需的格式

Date date = sdf.parse(sdf.format(dateInput.getDateOfJoining()));
output is …
Run Code Online (Sandbox Code Playgroud)

java rest json java.util.date

8
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×1

java.util.date ×1

json ×1

rest ×1