第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 laggom 創(chuàng)建一個簡單的模擬 json 服務

使用 laggom 創(chuàng)建一個簡單的模擬 json 服務

慕哥6287543 2022-10-12 15:25:22
Lagom 似乎很有趣,但我很難讓事情變得簡單。好像沒看懂怎么用和hello world的例子,雖然可以用,但是不明白怎么用。我正在嘗試創(chuàng)建一個簡單的 restful 服務,該服務在其標頭中接受兩個參數(shù)并生成一個 json 對象。例如在 MyService.java 我有:public interface BookService extends Service {    ServiceCall<NotUsed, String> getAllBook();    /**     * @return     */    @Override    default Descriptor descriptor() {        return named("book").withCalls(            restCall(GET, "/api/get-all-book", this::getAllBook)        ).withAutoAcl(true);    }}然后在 BookServiceImpl 我有:public class BookServiceImpl implements BookService {    private final PersistentEntityRegistry persistentEntityRegistry;    /**     * @param registry     * @param readSide     * @param session     */    @Inject    public BookServiceImpl(final PersistentEntityRegistry registry, ReadSide readSide, CassandraSession session) {        this.persistentEntityRegistry = registry;        persistentEntityRegistry.register(BookEntity.class);        readSide.register(BookEventProcessor.class);    }    @Override    public ServiceCall<NotUsed, String> getAllBook() {        return request -> {            JSONObject myBook= new JSONObject();            myBook.put("name","BookName");            myBook.put("description","A description");            myBook.put("price","$16");            myBook.put("status","available");            //how do I return JSONBject.toString()        };    }}然后我如何放置標題參數(shù)?一些解釋基礎知識的文檔將非常有幫助。提前致謝
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

您需要創(chuàng)建一個實際執(zhí)行 JSON 的 POJO 類。通過在服務實現(xiàn)中使用 lombok 包:


package mybook;



import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

import lombok.AllArgsConstructor;

import lombok.Builder;

import lombok.Value;


import javax.annotation.concurrent.Immutable;


@Value

@Builder

@Immutable

@JsonDeserialize

@AllArgsConstructor

public class Book {

    String name; 

    String description; 

    String value; 

    String status;

}

然后在服務中:


public interface BookService extends Service {


    ServiceCall<NotUsed, Book> getAllBook();


    /**

     * @return

     */

    @Override

    default Descriptor descriptor() {


        return named("book").withCalls(

            restCall(GET, "/api/get-all-book", this::getAllBook)

        ).withAutoAcl(true);

    }

}

然后在實施中:


public class BookServiceImpl implements BookService {


    @Override

    public ServiceCall<NotUsed, Book> getAllBook() {

        return request -> {

            Book myBook =     Book.builder().

                                name("BookName").

                                description("A description").

                                price("16€").

                                status("available").build();


            return completedFuture(myBook);

        };

    }

}


查看完整回答
反對 回復 2022-10-12
  • 1 回答
  • 0 關注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號