Java 重写EntityResponse toString方法

Java 重写EntityResponse toString方法,java,rest,swagger,tostring,Java,Rest,Swagger,Tostring,我在玩休息服务。 我用swagger editor创建了一个API定义,然后为Springboot服务器生成了代码。 在Eclipse中进行了一些更改之后,所有这些都可以正常工作,但我有一个“问题”,我无法重写toString方法以显示所需的结果。 (有一个名为genreId和definition的类型对象,我不想显示genreId) 这是控制器中的方法实现: public ResponseEntity<List<Movie>> findMovies( @ApiParam

我在玩休息服务。 我用swagger editor创建了一个API定义,然后为Springboot服务器生成了代码。 在Eclipse中进行了一些更改之后,所有这些都可以正常工作,但我有一个“问题”,我无法重写toString方法以显示所需的结果。 (有一个名为genreId和definition的类型对象,我不想显示genreId)

这是控制器中的方法实现:

public ResponseEntity<List<Movie>> findMovies(
@ApiParam(value = "Tags used to filter the result") @RequestParam(value = 
"tags", required = false) List<String> tags,
@ApiParam(value = "maximum number of results to return") @RequestParam(value = 
"limit", required = false) Integer limit) {
List<Movie> movies = movieRepository.findAll();
return new ResponseEntity<List<Movie>>(movies, HttpStatus.OK);
}
流派是具有流派和定义的对象流派列表。 我在体裁课上也提到了这一点:

@Id
@JsonProperty("genre_id")
@JsonIgnore
private String genreId;
private String definition;
这是toString方法:

@Override
public String toString() {
return "Genre {"+"definition='" + definition + '}';
}
我不想让genreId出现在我的结果中,但我做到了。 调试我在controller中看到的代码: 返回新的ResponseEntity>(电影,HttpStatus.OK); 电影对象没有genreId,所以对于一些人来说 原因和反应打印出来。我插入了一个brekpoint,并且没有调用流派中的toString方法

这是一个结果示例:

{
"genres": [
{
"genreId": "1",
"definition": "Fantasy"
}
],
"movie_id": "2",
"title": "The Hobbit",
"description": "A fantasy journey",
"rating": 6,
"price": 30
}

一些提示?

您的输出是由JSON序列化程序生成的,它没有使用
toString()
方法

它使用字段注释来确定哪些字段应序列化(或忽略)为json格式。用
@JsonIgnore
注释在
流派
类中标记
genreId
,将此字段从JSON输出中排除

更新 在某些情况下(基于JSON序列化程序配置/bugs/etc,仅用
@JsonIgonre
标记字段是不够的),还应该标记此字段的getter。如下所示

例如:

class Genre {

   @JsonIgnore
   private long genreId;

   @JsonIgnore
   public long getGenreId() { 
      return genreId;
   }
   // the rest of your Genre class ... 
}

这就是我代码中的内容:-@Id-@JsonProperty(“genre_Id”)-@JsonIgnore私有字符串genreId;私有字符串定义;
class Genre {

   @JsonIgnore
   private long genreId;

   @JsonIgnore
   public long getGenreId() { 
      return genreId;
   }
   // the rest of your Genre class ... 
}