如何修复在json中显示1个类的实例?

时间:2019-05-31 21:00:33

标签: java json

我遇到一个问题,我在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


}

1 个答案:

答案 0 :(得分:0)

您正在打印salaryService.retrieveAllSalaries()返回的所有对象。 如果您只想打印1个实例,则需要实现/从薪水服务调用正确的方法