我遇到一个问题,我在json中使用不同的rateTypes打印我的类的3个实例。但是,我只想在json中仅打印我的类Salary的1个实例。我的下面的Java代码可能吗?谢谢您的帮助。如果您出于某些原因不了解我的问题,请告诉我是否需要更多详细信息。谢谢!
控制器:
@RestController
@RequestMapping("/salaries")
public class SalaryController {
private SalaryService salaryService;
private EntityManager em;
public SalaryController(SalaryService salaryService, EntityManager em){
this.salaryService = salaryService;
this.em = em;
}
@GetMapping(value = "/{jobClassCd}", produces = "application/json")
@ApiOperation(value="Finds salary information",
notes = "To retrieve salary", response=Salary.class,
responseContainer = "List")
@ApiImplicitParam(name = "jobClassCd", value = "Job Class CD", required = true)
public List<Salary> getSalary(@PathVariable("jobClassCd") String jobClassCd){
return salaryService.retrieveSalary(jobClassCd);
}
@GetMapping(value = "/", produces = "application/json")
@ApiOperation(value = "Retrieves salary information",
response=Salary.class, responseContainer = "List")
@Transactional(readOnly = true, timeout = 3600)
public void getAllSalaries(HttpServletResponse res) {
Stream<Salary> stream = salaryService.retrieveAllSalaries();
DataStreamUtility.streamObjects(stream, res, em);
}
}
对象:
@Table(name = "xx_x_xxx", schema = "xxxx")
@Entity
@Setter
@JsonSerialize(using = JobSerializer.class)
public class Salary {
@Column(name = "MOU")
public String mou;
@Column(name = "MOU_DESCRIPTION")
public String mouDescription;
@Column(name = "JOB_CLASS_CD")
public String jobClassCd;
@Column(name = "PAY_GRADE")
public String payGrade;
@Column(name = "JOB_GROUP")
public String jobGroup;
@Column(name = "JOB_CLASS_TITLE")
public String jobClassTitle;
@Column(name = "MINIMUM_ANNUAL")
public String minimumAnnual;
@Column(name = "MAXIMUM_ANNUAL")
public String maximumAnnual;
@Column(name = "HIGHEST_COLUMN_HEADING_TO_DISP")
public String highestColumnHeadingToDisp;
@Column(name = "LOWEST_COLUMN_HEADING_TO_DISP")
public String lowestColumnHeadingToDisp;
@Column(name = "SECTION_TO_DISPLAY")
public String sectionToDisplay;
@Id
@Column(name = "RATE_TYPE")
public String rateType;
@Column(name = "STEP_1")
public String step1;
@Column(name = "STEP_2")
public String step2;
@Column(name = "STEP_3")
public String step3;
@Column(name = "STEP_4")
public String step4;
@Column(name = "STEP_5")
public String step5;
@Column(name = "STEP_6")
public String step6;
@Column(name = "STEP_7")
public String step7;
@Column(name = "STEP_8")
public String step8;
@Column(name = "STEP_9")
public String step9;
@Column(name = "STEP_10")
public String step10;
@Column(name = "STEP_11")
public String step11;
@Column(name = "STEP_12")
public String step12;
@Column(name = "STEP_13")
public String step13;
@Column(name = "STEP_14")
public String step14;
@Column(name = "STEP_15")
public String step15;
@Column(name = "STEP_16")
public String step16;
@Column(name = "STEP_17")
public String step17;
@Column(name = "STEP_18")
public String step18;
@Column(name = "STEP_19")
public String step19;
@Column(name = "STEP_20")
public String step20;
@Column(name = "FLAT_RATE")
public String flatRate;
@Column(name = "PER_EVENT_RATE")
public String perEventRate;
@Column(name = "SPECIAL_NOTES")
public String specialNotes;
@Column(name = "CREATED_BY")
public String createdBy;
@Column(name = "CREATION_DATE")
public String creationDate;
@Column(name = "LAST_UPDATED_BY")
public String lastUpdatedBy;
@Column(name = "LAST_UPDATE_DATE")
public String lastUpdatedDate;
@Column(name = "SALARY_RANGE")
public String salaryRange;
@Column(name = "MIN_STEP")
public String minStep;
@Column(name = "SALARY_RANGE_MIN_STEP_MESSAGE")
public String salaryRangeMinStepMessage;
//getters and setters
}
答案 0 :(得分:0)
您正在打印salaryService.retrieveAllSalaries()返回的所有对象。 如果您只想打印1个实例,则需要实现/从薪水服务调用正确的方法