簡體   English   中英

使用 Java POJO 為休息服務創建條件 JSON 響應

[英]Conditional JSON response creation using Java POJO for rest service

我正在創建一個休息服務並向我們的消費者提供 json。 我有兩個字段 cardType,cardDetails(我有更多的字段,但這些是相關的)。

如果 cardType 是信用卡,那么我只想在 json 中發送另一個字段 cardDetails。

如果 cardtype 是別的東西,那么我不想發送卡的詳細信息(甚至不是空數據)。 我不明白我該如何解決這個問題。

你使用哪種語言? 在 spring 框架中,你可以很容易地做到這一點。 您可以在控制器中添加 if 條件。

    @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>

祝你好運,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM