Создание условного ответа JSON с использованием Java POJO для службы отдыха - PullRequest
0 голосов
/ 20 марта 2019

Я создаю службу отдыха и предоставляю json нашему потребителю. У меня есть два поля cardType, cardDetails (у меня есть больше полей, но это то, что относится к делу).

Если cardType является кредитной картой, то только я хочу отправить другое поле cardDetails в формате json.

Если тип карты - это что-то другое, тогда я не хочу отправлять данные карты (даже пустые данные). Я не понимаю, как я могу достичь решения для этого.

1 Ответ

0 голосов
/ 20 марта 2019

Какой язык вы используете? В весенних рамках вы можете сделать это очень легко. Вы можете добавить условие в вашем контроллере.

    @RestController
public class YourController {
    @Autowired
    YourRepository yourRepository;

    @RequestMapping("/creaditCardsInfo")
    public String sendCreditCardToCustomer(@RequestParam(value = "creditCardType", defaultValue = "none") String cardType,@RequestParam(value = "cardDetails", default = "someInfo") String cardDetails) {
if("credit".equals(cardType.trim()) && !(cardDetails.isEmpty())){
return new RequredCreditInfoObject(); 
}

если вы используете maven, ваш pom.xml должен содержать необходимые библиотеки

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- JPA Data (if We are going to use Repositories, Hibernate, etc...) -->

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.13</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>

    <!-- for JSon marshaling  --> 

    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <scope>test</scope>
    </dependency>

Удачи,

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