The question is specific to the API notation shown in the screen under the heading Table Name with the comment Joins Multiple Tables. I am using Spring Boot with JPA (Database: RDBMS)

I have defined API notations for multiple requirements that UI ReactJS based Portal application consumes the APIs. Are these notations follow the best practices of API notation [Refer screenshot], especially when multiple tables data is required to be combined?

We have a process hierarchy with supported levels from 0,1,2,3,4. We follow terminologies across application Level-0 process as PROCESSES and Level-1 to 4 processes as SUBPROCESSES.

  1. Processes [Level-0] --> PROCESS_DETAILS (has header info), PROCESS_ATTR_MAPPING (dynamic attributes of a process)
  2. Subprocesses [Level-1 to 4] --> NODE_DETAILS (has header info), NODE_ATTR_MAPPING (dynamic attributes of a process), NODE_META_DATA (Other metadata information)
  3. Other tables are calendars or planning information, we can ignore them for the sake of simplicity of my question.

enter image description here

1 Answer 1


It looks like you are writing documentation which shows a user what the "notation" will be.

As a user I will read the documentation, copy and paste whatever you have written into my code and never think about it again. Or better yet, download the client you have written for me and call its methods.

Stop worrying about RESTful style resource names and just have

  • Documentation was for my peer/junior engineers, everyone giving their own different notations with their own thoughts, due to that prepared this excel, just to save my time took a screenshot for the question, I had to get an opinion in this forum to avoid confusion on notation. Your answer looks to me like adding a query API with query param1 to n, I can give filter support to get the desired response for the requirements I asked for. I think this solves my problem by adding some complexity into the DAO layer with more filters to support it.
    – ravibeli
    Jul 4, 2021 at 1:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.