java—如何使用dto正确创建rest方法

w7t8yxp5  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(198)

我需要向第三方服务发送一个请求,然后从响应中获取一个对象并在浏览器上显示它。
包com.statusinfonew.springboot.controller;

import java.util.Collections;
import java.util.List;
import lombok.Data;
import lombok.val;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import com.statusinfonew.springboot.model.ParamsPays;
import com.statusinfonew.springboot.service.dto.OpenJsonFormat;

@Controller
@RestController
public class MyRestController {

    RestTemplate restTemlate;

    @GetMapping({"/"})
    public String showGeneralPage(Model model) {
                    model.addAttribute("general", "Welcome to App");
                return "hello";

    }

      @GetMapping(path = "/go")
      public List<ParamsPays> getInfoError(@RequestParam(value="token") String token, 
                             @RequestParam(value="orderId")String orderId){
        final String url =String.format("https://exemple.ru/payment/rest/getOrderStatus.do? 
        token=%s&orderId=%s", token, orderId);
                     OpenJsonFormat dto =restTemlate.getForObject(url, OpenJsonFormat.class);       
                     return Collections.singletonList(toModel(dto));
    }

    private ParamsPays toModel(OpenJsonFormat dto) {
      return new ParamsPays();
    }

package com.statusinfonew.springboot.service.dto;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

    @Data
    public class OpenJsonFormat {
     @JsonProperty("actionCode")
     private String actionCode;
     @JsonProperty("amount")
     private String amount;
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
     private Date date;
    }

当我输入get请求时,会发出一个错误:
此应用程序没有针对/error的显式Map,因此您将此视为回退。
http://localhost:8080/go?token=sdwggvpa0k4ponpkt9&orderid=6afsf0-a0bc-7ffd-a9a8-790d4s179
4月21日星期三21:26:35 samt 2021出现意外错误(类型=内部服务器错误,状态=500)。
我明白我犯了一个严重的错误。请帮我弄清楚

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题