简体   繁体   中英

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?

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()}" />

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM