powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вернуть ответ в JSON формате
13 сообщений из 13, страница 1 из 1
Как вернуть ответ в JSON формате
    #39883385
skyboyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет я написал проект. Который возвращает инфу о домене.
Так вот он у меня его возвращает через терминал вот так
Код: 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
Как вернуть ответ в JSON формате
    #39883396
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyboyy,

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

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

https://www.baeldung.com/guide-to-jayway-jsonpath в топике не нужна либа поиска в json. Как у тебя в прошлом проекте.
аа упс неправильно прочитал шо автор хочет,тогда да - отправлять то json спринг может своими силами
...
Рейтинг: 0 / 0
Как вернуть ответ в JSON формате
    #39883574
skyboyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как вернуть ответ в JSON формате
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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