Я прочитал несколько сообщений, но так и не нашел ответа на свой вопрос. У меня есть следующий контроллер, использующий Spring 4.
Благодаря примерам, которые я нашел, я понял, как использовать мой POJO WellTest для автоматической привязки через @RequestParam. Я могу сказать вам, что много раз «Эксперты» слишком много предполагают из того, что они сами легко делают каждый день, объясняя эти вещи, и я ни в коем случае не новичок. Тем не менее, я не очень много работаю с сервисами, и в случае Spring иногда ваша версия настолько хороша, насколько хороша ваша последняя версия, которую вы использовали. У меня было около 2,5 или около того.
Here is my controller method - it's just for testing the passing of Variables.
@RequestMapping(value = "/update/{WellTestID}", method = RequestMethod.POST,headers="Accept=application/json")
public String setWellTestByWellTestID( @RequestParam(defaultValue = "99999") Long wellTestID,
@RequestParam(defaultValue = "99999") Long wellFacilityID,
@RequestParam(defaultValue = "101") int operatorPersonID,
@RequestParam(defaultValue = "67845") int durationSeconds,
@RequestParam(defaultValue = "100") long grossRate,
@RequestParam(defaultValue = "400") long waterCut,
@RequestParam(defaultValue = "30") long percentGas,
@RequestParam(defaultValue = "500") long temperature,
@RequestParam(defaultValue = "60") long flowLinePressure,
@RequestParam(defaultValue = "50") long casingPressure,
@RequestParam(defaultValue = "0") int allocation,
@RequestParam(defaultValue = "3") int wellTestTypeID,
@RequestParam(defaultValue = "you") String createUser,
@RequestParam(defaultValue = "me-me") String lastModifiedUser,
@RequestParam(defaultValue = "4-4-2014") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) Date createDate,
WellTest wellTest) throws IOException
{
/* try {
wellTestService.updateWellTest(wellTest);
} catch (ParseException e) {
e.printStackTrace();
}*/
String param1 = new String(wellFacilityID.toString());
return param1;
}
Приложение предназначено для получения и редактирования результатов испытаний нефтяных скважин. Мне удалось передать все параметры, за исключением случаев, когда я использовал тип данных Date. Я уверен, что это связано с преобразованием в привязке, но служба даже не выдаст ошибку в отладчике. Ошибка говорит мне, что запрос синтаксически неверен, и он никогда не попадает в метод запроса.
Ошибка...
Blockquote
400 Bad Request Show explanation Loading time: 18
Request headers
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/37.0.2062.120 Safari/537.36
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8,de;q=0.6
Response headers
X-Powered-By: Servlet/3.1 JSP/2.3 (GlassFish Server Open Source Edition 4.0 Java/Oracle Corporation/1.8)
Server: GlassFish Server Open Source Edition 4.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: x-requested-with
Content-Language:
Content-Type: text/html
Date: Wed, 17 Sep 2014 21:29:47 GMT
Connection: close
Content-Length: 1105
Мой вопрос прост, и, пожалуйста, если вы собираетесь комментировать или отвечать, будьте внимательны в обоих случаях. Пожалуйста, предположим, что я почти ничего не знаю, и вы тот, кто может это объяснить.
Как типы данных передаваемых параметров преобразуются в Spring MVC? Пожалуйста, объясните, что делать, а также концепции, лежащие в основе почему.