Иногда у нас есть требования от клиентов, которым требуется служба REST, которая использует JSON / XML или любой другой формат динамически. В этом уроке мы покажем вам, как сделать это с помощью Spring Boot.
Вот класс, который я использую в качестве тела запроса в своем API. Здесь я использую @XmlRootElement
аннотацию, чтобы пометить Employee
класс как корень. Для получения более подробной информации об этой аннотации, пожалуйста, нажмите здесь .
Джава
xxxxxxxxxx
1
2
public class Employee {
4
private int id;
6
private String firstName;
8
private String lastName;
10
private String department;
12
//setters & getters
14
//toString()
Вам также может понравиться:
Spring Boot: наиболее заметные функции, которые вы должны знать .
Вот мой REST-сервис EmployeeController.Java .
Джава
1
2
public class EmployeeController {
3
(path = "/get-diff-data/", consumes = MediaType.ALL_VALUE)
5
public ResponseEntity<?> getDetails( Employee emp) {
6
ResponseEntity<?> response = null;
7
try {
8
response = ResponseEntity.status(HttpStatus.OK).body(emp);
9
} catch (Exception e) {
10
response = ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
11
}
12
return response;
13
}
14
}
После этого давайте удостоверимся, что API сервиса работает правильно. Здесь я буду использовать Почтальон. Сначала мы проверим с помощью XML:
XML
xxxxxxxxxx
1
2
<employee>
3
<department>IT</department>
4
<firstName>Santosh</firstName>
5
<id>123</id>
6
<lastName>Devkate</lastName>
7
</employee>
Для приведенного выше ввода это ответ, который мы получаем в JSON:
JSON
xxxxxxxxxx
1
{
2
"id": 123,
3
"firstName": "Santosh",
4
"lastName": "Devkate",
5
"department": "IT"
6
}
Вот снимок всего вызова службы:
Далее мы проверим его на основе ввода JSON:
JSON
xxxxxxxxxx
1
{
2
"id": 123,
3
"firstName": "Santosh",
4
"lastName": "Devkate",
5
"department": "IT"
6
}
Ожидаемый ответ будет таким же JSON:
JSON
1
{
2
"id": 123,
3
"firstName": "Santosh",
4
"lastName": "Devkate",
5
"department": "IT"
6
}
Спасибо за чтение этого блога. Пожалуйста, не стесняйтесь оставлять комментарии по этому вопросу, если у вас есть какие-либо вопросы!