2016-03-21 2 views
0

Я создаю приложение загрузки Spring, в котором я использую Restful Api и отправляю данные в формате JSON через POSTMAN. Я хочу, чтобы эти данные отображались с моим классом модели, т. Е. Запрос класса данных, но я получаю нулевые значения.Невозможно связать данные из JSON с классом модели

основной класс

import org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
public class ContactApplication { 

    public static void main(String[] args) { 
     SpringApplication.run(ContactGEApplication.class, args); 
    } 
} 

Контроллер class- это один класс контроллера. В этом классе мы сопоставим URL с/rfs import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController;

import com.fasterxml.jackson.core.JsonProcessingException; 
import com.fasterxml.jackson.databind.ObjectMapper; 

@RestController 
public class ContactController { 

    private static Log log = LogFactory.getLog(ContactController.class); 

    @RequestMapping(value = "/rfs", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
    public ServiceResponse<String> serviceRequest(@RequestBody RequestData requestData) throws JsonProcessingException { 

     System.out.println(requestData); 
     System.out.println("M in controller"); 
     return ServiceResponse.success(); 

    } 
} 

Request Data.java- это мой класс модели. В этом я определяю все поля и методы получения и установки

public class RequestData { 

    private static final long serialVersionUID = 1L; 
    private String EquipmentID; 
    private String Modality; 
    private String FacilityID; 
    private String CountryCode; 
    private String ISOCode; 
    private String ProblemType; 
    private String ProblemArea; 
    private String EquipmentStatus; 
    private String Name; 
    private String PhoneNumber; 
    private String Extension; 
    private String Description; 
    private String ShortDescription; 
    private String TimePeriod; 
    private String ServiceCode; 
    private String Locale; 
    private String RequestingApp; 
    private String ExamNumber; 
    private String SeriesNumber; 
    private String ImageNumber; 

    public String getEquipmentID() { 
     return EquipmentID; 
    } 

    public void setEquipmentID(String equipmentID) { 
     EquipmentID = equipmentID; 
    } 

    public String getModality() { 
     return Modality; 
    } 

    public void setModality(String modality) { 
     Modality = modality; 
    } 

    public String getFacilityID() { 
     return FacilityID; 
    } 

    public void setFacilityID(String facilityID) { 
     FacilityID = facilityID; 
    } 

    public String getCountryCode() { 
     return CountryCode; 
    } 

    public void setCountryCode(String countryCode) { 
     CountryCode = countryCode; 
    } 

    public String getISOCode() { 
     return ISOCode; 
    } 

    public void setISOCode(String iSOCode) { 
     ISOCode = iSOCode; 
    } 

    public String getProblemType() { 
     return ProblemType; 
    } 

    public void setProblemType(String problemType) { 
     ProblemType = problemType; 
    } 

    public String getProblemArea() { 
     return ProblemArea; 
    } 

    public void setProblemArea(String problemArea) { 
     ProblemArea = problemArea; 
    } 

    public String getEquipmentStatus() { 
     return EquipmentStatus; 
    } 

    public void setEquipmentStatus(String equipmentStatus) { 
     EquipmentStatus = equipmentStatus; 
    } 

    public String getName() { 
     return Name; 
    } 

    public void setName(String name) { 
     Name = name; 
    } 

    public String getPhoneNumber() { 
     return PhoneNumber; 
    } 

    public void setPhoneNumber(String phoneNumber) { 
     PhoneNumber = phoneNumber; 
    } 

    public String getExtension() { 
     return Extension; 
    } 

    public void setExtension(String extension) { 
     Extension = extension; 
    } 

    public String getDescription() { 
     return Description; 
    } 

    public void setDescription(String description) { 
     Description = description; 
    } 

    public String getShortDescription() { 
     return ShortDescription; 
    } 

    public void setShortDescription(String shortDescription) { 
     ShortDescription = shortDescription; 
    } 

    public String getTimePeriod() { 
     return TimePeriod; 
    } 

    public void setTimePeriod(String timePeriod) { 
     TimePeriod = timePeriod; 
    } 

    public String getServiceCode() { 
     return ServiceCode; 
    } 

    public void setServiceCode(String serviceCode) { 
     ServiceCode = serviceCode; 
    } 

    public String getLocale() { 
     return Locale; 
    } 

    public void setLocale(String locale) { 
     Locale = locale; 
    } 

    public String getRequestingApp() { 
     return RequestingApp; 
    } 

    public void setRequestingApp(String requestingApp) { 
     RequestingApp = requestingApp; 
    } 

    public String getExamNumber() { 
     return ExamNumber; 
    } 

    public void setExamNumber(String examNumber) { 
     ExamNumber = examNumber; 
    } 

    public String getSeriesNumber() { 
     return SeriesNumber; 
    } 

    public void setSeriesNumber(String seriesNumber) { 
     SeriesNumber = seriesNumber; 
    } 

    public String getImageNumber() { 
     return ImageNumber; 
    } 

    public void setImageNumber(String imageNumber) { 
     ImageNumber = imageNumber; 
    } 

    public static long getSerialversionuid() { 
     return serialVersionUID; 
    } 

    @Override 
    public String toString() { 
     return "RequestData [EquipmentID=" + EquipmentID + ", Modality=" + Modality + ", FacilityID=" + FacilityID 
       + ", CountryCode=" + CountryCode + ", ISOCode=" + ISOCode + ", ProblemType=" + ProblemType 
       + ", ProblemArea=" + ProblemArea + ", EquipmentStatus=" + EquipmentStatus + ", Name=" + Name 
       + ", PhoneNumber=" + PhoneNumber + ", Extension=" + Extension + ", Description=" + Description 
       + ", ShortDescription=" + ShortDescription + ", TimePeriod=" + TimePeriod + ", ServiceCode=" 
       + ServiceCode + ", Locale=" + Locale + ", RequestingApp=" + RequestingApp + ", ExamNumber=" + ExamNumber 
       + ", SeriesNumber=" + SeriesNumber + ", ImageNumber=" + ImageNumber + "]"; 
    } 

} 
+0

Заголовок: 'Content-Type: применение/json' добавил? также добавлять входные данные, запрашивать URL-адрес, поскольку они являются источником точек отладки. – VinayVeluri

+0

Привет, vinay все еще не имеет обязательных значений от JSON до класса POJO RequestData. Поля RequestData по-прежнему равны нулю – priyanka

+1

Какой JSON вы действительно отправляете? – mhlz

ответ

0

Проблема, кажется, что поля в RequestData все капитализируются. Это, по-видимому, вызывает проблему с геттерами и десериализатором. Если вы измените поля, чтобы начать с буквы в нижнем регистре, и в вашем запросе JSON используйте соответствующие строчные поля, он заполнит RequestData.

+0

, если я отправляю json с фр. Буквой в нижнем регистре, его рабочий тон и отображение данных, а также спасибо ... :) – priyanka

0

Добавить @ResponseBody до вашего метода в Rest

@RestController 
public class ContactGEController { 

    private static Log log = LogFactory.getLog(ContactGEController.class); 

    @RequestMapping(value = "/rfs", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
@ResponseBody 
    public ServiceResponse<String> serviceRequest(@RequestBody RequestData requestData) throws JsonProcessingException { 

     System.out.println(requestData); 
     System.out.println("M in controller"); 
     return ServiceResponse.success(); 

    } 
} 
Смежные вопросы