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

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

javax.ws.rs.core.Response 以集合作為實體

javax.ws.rs.core.Response 以集合作為實體

手掌心 2023-06-28 15:54:35
我有以下代碼:? ? @GET? ? @Path("v1/entity")? ? @ApiOperation(? ? ? ? ? ? value = "List",? ? ? ? ? ? notes = "Enables you to List.",? ? ? ? ? ? tags = { "List" })? ? @ApiImplicitParams(? ? ? ? ? ? {? ? ? ? ? ? ? ? @ApiImplicitParam(name = "pageSize",? ? ? ? ? ? ? ? ? ? value = "Page Size",? ? ? ? ? ? ? ? ? ? dataType = "int",? ? ? ? ? ? ? ? ? ? paramType = "formData",? ? ? ? ? ? ? ? ? ? example = "50"),? ? ? ? ? ? ? ? @ApiImplicitParam(name = "sortAscending",? ? ? ? ? ? ? ? ? ? value = "Sort Ascending",? ? ? ? ? ? ? ? ? ? dataType = "boolean",? ? ? ? ? ? ? ? ? ? paramType = "formData",? ? ? ? ? ? ? ? ? ? example = "false")? ? ? ? ? ? })? ? public Response list(@ApiParam(hidden = true) Integer pageSize,? ? ? ? ? ? @ApiParam(hidden = true) Boolean sortAscending) {? ? ? ? Collection<EntityData> dataCollection;? ? ? ? if (pageSize == null || sortAscending == null || pageSize <= 0) {? ? ? ? ? ? dataCollection = storeController.list();? ? ? ? } else {? ? ? ? ? ? SortDirection sortDirection = sortAscending ? SortDirection.ASC : SortDirection.DESC;? ? ? ? ? ? dataCollection= storeController.list(pageSize, sortDirection);? ? ? ? }? ? ? ? logger.info("List contains {} elements", dataCollection.size());? ? ? ? GenericEntity<Collection<EntityData>> response = new GenericEntity<Collection<EntityData>>(dataCollection){};? ? ? ? return Response.ok(response).build();? ? ? ? //return ResponseEntity.ok(dataCollection);? ? }當我調用 API 時,出現以下錯誤:No?message?body?writer?has?been?found?for?class?java.util.ArrayList,?ContentType:?*/*我也嘗試過使用 來Response檢索內容,而不是使用ResponseEntity<Collection<EntityData>>,但錯誤仍然存在。ArrayList就像直接使用中的&ldquo; &rdquo;一樣Response(不換行GenericEntity)。如果我將最后一行更改為return Response.ok().build();它可以工作,但我需要Collection檢索...logger表明當我運行時集合有 9 個元素。我知道我在這里錯過了一些東西,但我看不到它。你能幫助我嗎?
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

確保您的資源方法(或整個資源類)使用以下注釋:

  • @Produces("applicaton/json")或者;

  • @Produces(MediaType.APPLICATION_JSON).

然后確保類路徑中有一個 JSON 提供程序,例如 Jackson:

<dependency>

? <groupId>com.fasterxml.jackson.jaxrs</groupId>

? <artifactId>jackson-jaxrs-json-provider</artifactId>

? <version>${jackson.version}</version>

</dependency>?

根據 JAX-RS 實現的配置方式,將jackson-jaxrs-json-provider工件添加到類路徑就足以使用 Jackson 作為 JSON 提供程序。否則您需要注冊JacksonJsonProvider。



查看完整回答
反對 回復 2023-06-28
  • 1 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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