我正在尝试使用HTML输入时间,
<form action="/createData">
<input type="date" name="startDate" placeholder="Enter Start Date." />
<input type="submit" value="Create" name="createLogin" />
</form>
并且
@RequestMapping(value = "/createData")
String createData(@("startDate") Date startDate, Model model) {
String url = "http://localhost:9090/server/create";
JSONObject json = new JSONObject();
json.put("startDate", startDate.toString());
Client client = new Client();
WebResource resource = client.resource(url);
ClientResponse response = resource.type(MediaType.APPLICATION_JSON).post(ClientResponse.class, json.toString());
response.getEntity(String.class);
return "dateAdded";
我不想获得响应,只想将信息保存到服务器的SQL数据库。
但是,我正在解析错误。
我的资源接收服务器如下所示:
@POST
@Path("/create")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response create(String server) throws JSONException, BarsException, IOException, ParseException {
JSONObject json = new JSONObject(server);
SimpleDateFormat originalDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String StartDate = originalDateFormat
dates.setStartDate(StartDate);
billRepo.save(billing);
JSONObject op = new JSONObject();
return Response.status(200).entity(op.toString()).type(MediaType.APPLICATION_JSON).build();
我希望你能理解我想要做的事情。
答案 0 :(得分:0)
在您的控制器中,您需要@Consumes(MediaType.MediaType.APPLICATION_FORM_URLENCODED_VALUE),因为通过表单发布通常以urlencoded格式发送。
答案 1 :(得分:0)
我能够使用您的评论找到我的答案。谢谢。
这是我的工作代码供其他人参考。
JSONObject jsonCreate = new JSONObject(server);
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String stringStartDate = jsonCreate.getString("startDate");
String stringEndDate = jsonCreate.getString("endDate");
LocalDate localStartDate = LocalDate.parse(stringStartDate, format);
LocalDate localEndDate = LocalDate.parse(stringEndDate, format);
java.sql.Date sqlStartDate = java.sql.Date.valueOf(localStartDate);
java.sql.Date sqlEndDate = java.sql.Date.valueOf(localEndDate);
Billing bill = new Billing(sqlStartDate, sqlEndDate);
billRepo.save(bill);
再次感谢您的回答!干杯!
但是,此代码使用了太多转换。