亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Spring 使用 Hibernate 使用 Json 并返回值

Spring 使用 Hibernate 使用 Json 并返回值

慕絲7291255 2021-10-28 14:08:54
我有一個表客戶和 2 列 customer_id 和 customer_name。我想用json發送id列表請求并返回相應的客戶名稱。但我無法處理 dto 對象和控制器服務架構。輸入dto:public class CustomerSearchDto extends BaseDto {    @ApiModelProperty(            example = "1",            value = "Customer Id",            required = true,            dataType = "Long"    )    private Long id;}輸出到:public class CustomerDto extends BaseDto {    private Long id;    private String name;    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}控制器類:@ApiOperation(            value = "Return Customer",            response = Customer.class    )    @PostMapping(value = Endpoint.RRESOURCE_CUSTOMER_GROUP_BY_ID)    public ResponseEntity<CustomerDto> getCustomersById(@RequestBody @Validated CustomerSearchDto CustomerSearchDto) {        CustomerDto CustomerDto = new CustomerDto;        List<CustomerDto> CustomerDtoList = CustomerService.findCustomerByIds(ids);        return ResponseEntity.ok(CustomerDto);    }服務類方法:@Transactional    public List<CustomerDto> findCustomerByIds(List<Long> customerIds) {        List<Customer> customerList = repository.findCustomerById(CustomerIds);        return mapper.mapAsList(CustomerList, CustomerDto.class);    }控制器類中有一些錯誤。而且我不確定我是否應該為輸入和輸出定義不同的 dto 類?
查看完整描述

2 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

首先,您似乎應該使用CrudRepository#findAll(java.lang.Iterable<ID>)多個 ID 來搜索您的實體。

同樣在您的特定情況下,創建一個單獨的CustomerSearchDto作為持有者是多余的id- 最好只使用longs操作。

因此,只需List<Long> ids在您的控制器中作為參數傳遞(不要忘記將此參數注釋為@RequestBody@RequestParam取決于您想在何處指定這些 id - 在 url 中或在正文中),然后CrudRepository#findAll(ids)從您的服務類中調用。


查看完整回答
反對 回復 2021-10-28
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

您不需要定義單獨的輸入和輸出類,相反,您可以根據您的用例構建和返回 Map 或 List。同樣對于輸入,您可以接受 List ,其中包含您要檢索的客戶 ID 列表。


查看完整回答
反對 回復 2021-10-28
  • 2 回答
  • 0 關注
  • 264 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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