More importantly, backend API in general should focus on passing k/v pairs (data), not table columns (final representation).
It'll allow the client to do more creative logic and evolve over time. For example,
- some k/v pairs can be used as mouse hover tips
- link_to_result could be embed into another data column
Another big case is supporting 2+ clients (WEB+CLI). Where some data may be more useful for WEB. The CLI could ignore or adapt some data to fit the terminal.
So API should focus on data itself. Enable clients to do creative representation.
Thanks, Fengguang