Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вернуть ответ в JSON формате / 13 сообщений из 13, страница 1 из 1
31.10.2019, 07:03
    #39883385
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
Всем привет я написал проект. Который возвращает инфу о домене.
Так вот он у меня его возвращает через терминал вот так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
C:\Users\Sky>curl -H "Content-Type: application/json" -d "{\"domain\":\"amazon.kz\"}" localhost:8080/api/whois
Domain Name............: amazon.kz

Organization Using Domain Name
Name...................: Amazon.com, Inc.
Organization Name......: Amazon.com, Inc.
Street Address.........: Legal Dept. P.O. Box 81226
City...................: Seattle WA
State..................:
Postal Code............: 98108
Country................: US

Administrative Contact/Agent
Nick Handle............: HOSTERKZ-76523
Phone Number...........: +1.2062664064
Fax....................: +1.2062667010
Email Address..........: admin@internationaladmin.com

Nameserver in listed order

Server.................: 3783652
Ip address.............: 185.98.6.6
Server.................: 3783652
Ip address.............: 104.131.219.250
Server.................: 3783652
Ip address.............: 92.38.225.176

Domain created: 1998-01-02 12:31:33
Last modified: 2013-03-16 10:52:31
Domain status: KAZNIC
Registrar created: HOSTER.KZ
Current Registrar: clientDeleteProhibited
Domain created: 1998-01-02 12:31:33
Last modified: 2013-03-16 10:52:31
Domain status: KAZNIC
Registrar created: HOSTER.KZ
Current Registrar: clientTransferProhibited



Но мне нужно его вернуть в JSON формате, можете помочь
Вот мой код

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
@RestController
@RequestMapping("api/whois")
public class DomainWhoIsController {

    @Autowired
    DomainRepository domainRepository;

    @Autowired
    ContactsRepository contactsRepository;

    @Autowired
    HostRepository hostRepository;

    @Autowired
    StatusRepository statusRepository;

    @PostMapping
    public String whoIs(@RequestBody Request request) {
        System.out.println(request);
        DomainInfo domainInfo = domainRepository.findDomainInfo(request.getDomain());
        ContactInfo contactInfo = contactsRepository.findContactInfo(request.getDomain());
        List<HostInfo> hostInfo = hostRepository.findHostInfo(request.getDomain());
        List<StatusInfo> statusInfo = statusRepository.findStatusInfo(request.getDomain());

        return report(domainInfo, contactInfo, hostInfo, statusInfo);
    }

    private String report(DomainInfo domainInfo, ContactInfo contactInfo, List<HostInfo> hostInfo, List<StatusInfo> statusInfo) {
        StringBuffer sb = new StringBuffer();
        sb
                .append("Domain Name............: ").append(domainInfo.getDomainName()).append(System.lineSeparator())
                .append(System.lineSeparator())
                .append("Organization Using Domain Name").append(System.lineSeparator())
                .append("Name...................: ").append(domainInfo.getName()).append(System.lineSeparator())
                .append("Organization Name......: ").append(domainInfo.getOrganizationName()).append(System.lineSeparator())
                .append("Street Address.........: ").append(domainInfo.getStreetAddress()).append(System.lineSeparator())
                .append("City...................: ").append(domainInfo.getCity()).append(System.lineSeparator())
                .append("State..................: ").append(domainInfo.getState()).append(System.lineSeparator())
                .append("Postal Code............: ").append(domainInfo.getPostalCode()).append(System.lineSeparator())
                .append("Country................: ").append(domainInfo.getCountry()).append(System.lineSeparator())
                .append(System.lineSeparator())
                .append("Administrative Contact/Agent").append(System.lineSeparator())
                .append("Nick Handle............: ").append(contactInfo.getHandle()).append(System.lineSeparator())
                .append("Phone Number...........: ").append(contactInfo.getVoice()).append(System.lineSeparator())
                .append("Fax....................: ").append(contactInfo.getFax()).append(System.lineSeparator())
                .append("Email Address..........: ").append(contactInfo.getEmail()).append(System.lineSeparator())
                .append(System.lineSeparator())
                .append("Nameserver in listed order").append(System.lineSeparator())
                .append(System.lineSeparator());

        hostInfo.forEach(hInfo -> sb
                .append("Server.................: ").append(hInfo.getDomain()).append(System.lineSeparator())
                .append("Ip address.............: ").append(hInfo.getIpaddr()).append(System.lineSeparator())
        );

        sb.append(System.lineSeparator());

        statusInfo.forEach(sInfo -> sb
                .append("Domain created: ").append(sInfo.getCreated()).append(System.lineSeparator())
                .append("Last modified: ").append(sInfo.getUpdated()).append(System.lineSeparator())
                .append("Domain status: ").append(sInfo.getStatus()).append(System.lineSeparator())
                .append("Registrar created: ").append(sInfo.getRegistarcr()).append(System.lineSeparator())
                .append("Current Registrar: ").append(sInfo.getRegistrar()).append(System.lineSeparator())
        );

        return sb.toString();
    }
}
...
Рейтинг: 0 / 0
31.10.2019, 08:29
    #39883396
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
skyboyy,

Возвращайте объект. Spring сам автоматом преобразует в JSON.
Можно еще указать аннотацию @ResponseBody
...
Рейтинг: 0 / 0
31.10.2019, 10:21
    #39883436
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
еще помочь можно спрингу указать что результат
@RequestMapping(path="api/whois", produces=MediaType.APPLICATION_JSON_VALUE)
...
Рейтинг: 0 / 0
31.10.2019, 10:44
    #39883453
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
Сделать DTO с нужными полями и отдавать по запросу ,как выше написали спринг сам все сделает ,нужно лишь зависимость нужную подключить

Код: xml
1.
2.
3.
4.
<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path</artifactId>
		</dependency>
...
Рейтинг: 0 / 0
31.10.2019, 11:00
    #39883470
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
asv79,
Я тебя уже спрашивал однажды.
Зависимость это либа.
Из коробки без либы спринг не умеет?
...
Рейтинг: 0 / 0
31.10.2019, 11:02
    #39883471
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
...еще и какая то хай-вай либа непонятная. да.
...
Рейтинг: 0 / 0
31.10.2019, 11:04
    #39883473
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
andreykaT...еще и какая то хай-вай либа непонятная. да.у нас на работе вообше либы "из интернета" не приветствуются)). Согласовывать надо.
...
Рейтинг: 0 / 0
31.10.2019, 11:18
    #39883487
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
PetroNotC Sharpу нас на работе вообше либы "из интернета" не приветствуются)). Согласовывать надо.с сайта оракла - тоже из инета?
...
Рейтинг: 0 / 0
31.10.2019, 11:26
    #39883492
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
вадя,
Сравнил сайт оракла с сайтом куда вадя либу пишет)))
...
Рейтинг: 0 / 0
31.10.2019, 11:28
    #39883496
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
andreykaT...еще и какая то хай-вай либа непонятная. да.
https://www.baeldung.com/guide-to-jayway-jsonpath
...
Рейтинг: 0 / 0
31.10.2019, 11:32
    #39883498
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
asv79andreykaT...еще и какая то хай-вай либа непонятная. да.
https://www.baeldung.com/guide-to-jayway-jsonpath в топике не нужна либа поиска в json. Как у тебя в прошлом проекте.
...
Рейтинг: 0 / 0
31.10.2019, 12:44
    #39883547
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
PetroNotC Sharpasv79пропущено...

https://www.baeldung.com/guide-to-jayway-jsonpath в топике не нужна либа поиска в json. Как у тебя в прошлом проекте.
аа упс неправильно прочитал шо автор хочет,тогда да - отправлять то json спринг может своими силами
...
Рейтинг: 0 / 0
31.10.2019, 13:14
    #39883574
skyboyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вернуть ответ в JSON формате
asv79,

Я парился, но получилось -

Код: java
1.
2.
curl -H "Content-Type: application/json" -d "{\"domain\":\"nic.kz\"}" localhost:8080/api/whois
{"domainInfo":{"domainName":"nic.kz","name":"KazNIC","organizationName":"KazNIC","streetAddress":"Ilyashev str. 47/2","city":"Semey","state":"VKO","postalCode":"071400","country":"KZ"},"contactInfo":{"handle":"PG134","name":"nic.kz","voice":"+77222600006","fax":"+77222604740","email":"pg@nic.kz"},"hostInfo":[{"oid":"10377768","name":"ns2.nic.kz","domain":"nic.kz","ipaddr":"80.241.0.81","pver":"v4"},{"oid":"10377949","name":"ns.nic.kz","domain":"nic.kz","ipaddr":"194.0.21.5","pver":"v4"}],"statusInfo":[{"created":"1999-08-18 03:34:57","updated":"1999-08-18 03:34:57","status":"KAZ","registarcr":"KAZ","registrar":"ok"}]}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вернуть ответ в JSON формате / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]