'Add Entire Protobuf Message to Model in Spring Boot

I'm starting to play around with Spring Boot to learn how it functions for a MVC web application.

At a high-level the goal is to have a controller that will handle GET requests by issuing a request to an external gRPC server which will return a Order protobuf message. The Order data will be added to the Model and served via a template with Thymeleaf.

I am new to the Spring framework as a whole so the approach is likely incorrect but what I was doing is:

@Controller
public class OrderController {

    @GetMapping("/order")
    public String getOrder(@RequestParam(name = "order_number") String orderNumber, Model model) {

        // Code for getting Order proto message from external server here

        model.addAttribute("name", Order.getDate());
        model.addAttribute("total", Order.getTotal());
        model.addAttribute("number", Order.getNumber());
        ....

        return "order";
        
    }
    
}

However, this seems pretty tedious (especially for larger messages). Is there something I am missing that would allow me to add these fields en-masse?



Solution 1:[1]

Sorry, I cannot comment on question (SO restriction), hence asking here - cannot you just put your order object in model (rather than individual fields) and access it's fields/methods in view (Thymeleaf)?

In controller

model.addAttribute("order", order);

in view, I am not sure as I have not used Thymeleaf but should be simillar to

<span th:text="${order.getName()}" />

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Subhash