Click here to Skip to main content
15,885,914 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Java
{
  "message": "The operation was successful.",
  "code": 200,
  "fileDetailResponseDtos": [
    {
      "phoneNumber": "550000000",
      "textMessage": "Message1",
      "createDateTime": "2021-10-20T15:45:27.277",
      "sender": "Anar",
      "status": 0,
      "originatry": 0
    },
    {
      "phoneNumber": "550000000",
      "textMessage": "Message2",
      "createDateTime": "2021-10-20T15:45:27.277",
      "sender": "Anar",
      "status": 0,
      "originatry": 0
    },
    {
      "phoneNumber": "550000000",
      "textMessage": "Message3",
      "createDateTime": "2021-10-20T15:45:27.277",
      "sender": "Anar",
      "status": 0,
      "originatry": 0
    }
  ]
}


However, when I perform an operation based on a phone number that is not in the database, it still returns the second part instead of this message.

JavaScript
{
  "message": "The operation was successful",
  "code": 200,
  "fileDetailResponseDtos": []
}


But I want it to look like this in the output.

JavaScript
{
  "message": "Unfortunately, no information was found for this number.",
  "code": 400,
}


Yes I know it's not possible to return a list null. Here is the method I wrote in the dao layer.

How can I output the message I want when I perform an invalid operation?

Java
@Override
public List<FileDetail> getByPhoneNumberCBVersion(String phoneNumber) {
    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery<FileDetail> generateQueryWithMethods = criteriaBuilder.createQuery(FileDetail.class);
    Root<FileDetail> starsFrom = generateQueryWithMethods.from(FileDetail.class);
    generateQueryWithMethods.select(starsFrom);
    generateQueryWithMethods.where(criteriaBuilder.equal(starsFrom.get("phoneNumber"), phoneNumber));
    TypedQuery<FileDetail> query = entityManager.createQuery(generateQueryWithMethods);
    List<FileDetail> resultList = query.getResultList();
    return resultList;
}


What I have tried:

I tried to do something using lambda expressions a few times, but I couldn't do anything.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900