Ответ от весеннего веб-сервиса не отформатирован - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь разработать веб-сервисы, используя Spring boot, Hibernate с базой данных MySql. Я использую хранимую процедуру для получения списка. Ответ, который я получаю, не в форме действительного формата json.

[
    2,
    "7598149597",
    "2019-09-02T05:10:43.000+0000",
    "Digital Marketing",
    "2015002",
    "Rohit",
    "Ramakrishnan",
    "C",
    "2019-09-02T05:10:43.000+0000"
]

Вот так я получаю ответ, который на самом деле должен быть таким:

 {
    "id": 2,
    "first_name": "Rohit",
    "middle_name": "C",
    "last_name": "Ramakrishnan",
    "employee_id": "2015002",
    "designation": "Digital Marketing",
    "contact_number": "7598149597",
    "create_date": "2019-09-02T05:10:43.000+0000",
    "update_date": "2019-09-02T05:10:43.000+0000"
}

Класс Entity имеет toStringМетод, который возвращает

@Override
public String toString() {
    // TODO Auto-generated method stub
    return "Employee [id=" + id + ", first_name=" + first_name + ", middle_name=" + middle_name + ", last_name=" + last_name + ", employee_id="+ employee_id + ", designation=" + designation + ", contact_number=" + contact_number + ", create_date=" + create_date + ", update_date=" + update_date +"]";

}

Класс репозитория выглядит следующим образом

@Repository
public class EmployeeDetailsDao {
@Autowired
EntityManager em;

/**
 * Retrieve List
 * @return
 */
@SuppressWarnings("unchecked")
public Iterable<EmployeeDetailsSP> getEmployeeList(){
    return em.createStoredProcedureQuery("find_all_employees").getResultList();
}

Класс контроллера выглядит следующим образом

@RestController
@RequestMapping(value = "/sp/emloyee")
public class EmployeeDetailControllerSP {
@Autowired
EmployeeDetailsDao employeeDetailsDao;

private static final Logger log = LoggerFactory.getLogger(EmployeeDetailControllerSP.class);

/**
 * Retrieve List
 * 
 * @return
 */
@GetMapping("retrieve_list")
public Iterable<EmployeeDetailsSP> retrieveList() {
    log.debug("retrieve_list");
    return employeeDetailsDao.getEmployeeList();
}

EmployeeDetailsSP

@Entity
@Table(name = "employee_details")
@NamedStoredProcedureQueries(value = {
    @NamedStoredProcedureQuery(name = "FindEmployeeList", procedureName = "find_all_employees"),
    @NamedStoredProcedureQuery(name = "FindEmployeeDetails", procedureName = "find_employee_by_id", parameters = {
            @StoredProcedureParameter(mode = ParameterMode.IN, name = "emp_id", type = Integer.class) }),
    @NamedStoredProcedureQuery(name = "CheckDuplicateEmployee", procedureName = "check_duplicate", parameters = {
            @StoredProcedureParameter(mode = ParameterMode.IN, name = "emp_id", type = Integer.class),
            @StoredProcedureParameter(mode = ParameterMode.OUT, name = "emp_count", type = Integer.class) }) })

public class EmployeeDetailsSP {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@NotBlank
private String first_name;

private String middle_name;

@NotBlank
private String last_name;

@NotBlank
private String employee_id;

@NotBlank
private String designation;

@NotBlank
private String contact_number;

@Column(nullable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
@CreatedDate
private Date create_date;

@Column(nullable = false)
@Temporal(TemporalType.TIMESTAMP)
@LastModifiedDate
private Date update_date;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getFirst_name() {
    return first_name;
}

public void setFirst_name(String first_name) {
    this.first_name = first_name;
}

public String getMiddle_name() {
    return middle_name;
}

public void setMiddle_name(String middle_name) {
    this.middle_name = middle_name;
}

public String getLast_name() {
    return last_name;
}

public void setLast_name(String last_name) {
    this.last_name = last_name;
}

public String getEmployee_id() {
    return employee_id;
}

public void setEmployee_id(String employee_id) {
    this.employee_id = employee_id;
}

public String getDesignation() {
    return designation;
}

public void setDesignation(String designation) {
    this.designation = designation;
}

public String getContact_number() {
    return contact_number;
}

public void setContact_number(String contact_number) {
    this.contact_number = contact_number;
}

public Date getCreate_date() {
    return create_date;
}

public void setCreate_date(Date create_date) {
    this.create_date = create_date;
}

public Date getUpdate_date() {
    return update_date;
}

public void setUpdate_date(Date update_date) {
    this.update_date = update_date;
}

@Override
public String toString() {
    // TODO Auto-generated method stub
    return "Employee [id=" + id + ", first_name=" + first_name + ", middle_name=" + middle_name + ", last_name=" + last_name + ", employee_id="+ employee_id + ", designation=" + designation + ", contact_number=" + contact_number + ", create_date=" + create_date + ", update_date=" + update_date +"]";

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...