当前位置: 首页 > 知识库问答 >
问题:

SpringRest400错误请求

阎博易
2023-03-14

我收到了400个坏请求,但我不知道为什么。对我来说一切都很好。我会很感激一些想法...

@Component
public class TicketIdentifierRestClient implements TicketIdentifierService{
@Autowired
private RestClient restClient;

@Override
public List<TicketIdentifierDto> createTicketIdentifier(List<TicketIdentifierDto> list)
        throws ServiceException {

    RestTemplate restTemplate = this.restClient.getRestTemplate();
    String url = this.restClient.createServiceUrl("/ticketIdentifier/");

    HttpHeaders headers = this.restClient.getHttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON))
    ;
    HttpEntity<String> entity = new HttpEntity<String>(headers);
    List<TicketIdentifierDto> tickets = null;
//  System.out.println("necati"+list.get(0).toString());
    try {
        ParameterizedTypeReference<List<TicketIdentifierDto>> ref = new ParameterizedTypeReference<List<TicketIdentifierDto>>() {};
        ResponseEntity<List<TicketIdentifierDto>> response = restTemplate.exchange(URI.create(url), HttpMethod.POST, entity,ref);
        tickets = response.getBody();
        return tickets;

    } catch (RestClientException e) {
        e.printStackTrace();
        throw new ServiceException("Could not retrieve tickets: " + e.getMessage(), e);

    }
}

而服务器端我只是想得到列表并在这里打印出来

@RestController
@RequestMapping(value = "/ticketIdentifier")
public class TicketIdentifierController {
private  final Logger LOG = Logger.getLogger(TicketController.class);
@Autowired
private TicketIdentifierService tiService;

@RequestMapping(method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
public @ResponseBody List<TicketIdentifierDto> getTickets(@RequestBody List<TicketIdentifierDto> list) throws ServiceException {
    System.out.println("did i get it ?"+list.get(0).toString());
    //return EntityToDto.convertTicketIdentifiers(tiService.create(list));
    return list;
}
}

共有1个答案

胥康安
2023-03-14

服务器端似乎可以。

我写了几行代码:我写了一个简单的类测试

@JsonIgnoreProperties(ignoreUnknown = true)
public class Test {

    String text;

    int number;

    public int getNumber() {
        return number;
    }

    public String getText() {
        return text;
    }

    public Test(String text, int number) {
        super();
        this.text = text;
        this.number = number;
    }

    public Test() {
        super();
    }

}

和一个简单的客户

public class Application {

public static void main(String args[]) {
    RestTemplate restTemplate = new RestTemplate();
    List<Test> list = new ArrayList<Test>();
    Test request = new Test();
    request.number = 1;
    request.text = "txt1";

    Test request2 = new Test();
    request2.number = 2;
    request2.text = "txt2";

    list.add(request);
    list.add(request2);

    @SuppressWarnings("rawtypes")
    ResponseEntity<ArrayList> test = restTemplate.postForEntity("http://localhost:8080/postevent", list, ArrayList.class);
    System.out.println(test.getBody().toString());//show json
    for(int i =0; i<list.size();i++){
        System.out.println("number "+list.get(i).number +" text "+ list.get(i).text);
    }

}

}

服务器端:

@RestController
@RequestMapping(value = "/postevent")
public class PostEvent {

    @RequestMapping(method = RequestMethod.POST, consumes= "application/json", produces = "application/json")
    public @ResponseBody List<Test> getTickets(@RequestBody List<Test> list) {
        for(int i =0; i<list.size();i++){
            System.out.println("number "+list.get(i).number +" text "+ list.get(i).text);
        }
        return list;
    }


}
 类似资料:
  • 我有一个基于Spring Web model view controller(MVC)框架的项目。Spring Web模型-视图-控制器(MVC)框架的版本是3.2.8 我有这个控制器 这个URL一切正常:

  • 目前从Angular JS controller中,我试图将JSON数据发送到后端服务。但是我有400个错误的请求错误。 在Controller中,我试图通过http服务发送数据,如下所示:

  • 我得到了这个错误,有什么想法会导致它吗?我试图发送一个DTO,它有一个扩展抽象类的对象列表,我想这个问题可能是因为DTO中的列表,还是因为抽象类的子类?

  • 我正在尝试搜索亚马逊的产品广告,并使用botlenose来帮助我做到这一点。但是,我刚刚收到HTTP错误400。 其他一些重要信息: 我来自巴西,我的标签也来自亚马逊。这是个问题吗? 我确实检查了我的钥匙、秘密和标签,一切正常。我确实在StackOverflow上查看了其他一些问题,但对我来说没有任何效果。 当然,出于安全原因,我更改了密钥。 Traceback(最近一次调用最后一次):File"

  • 我正在使用实现一个联系人应用程序。现在,我正试图通过发送以下格式的put请求来更新联系人 我将XML作为字符串发送,作为请求的主体。这是我的xmlString(请求主体) 我写了下面的代码来发送更新联系人的PUT请求。 当我试图在中发送请求时,联系人更新成功。但是当我试图运行上面的程序时,我得到了 400错误请求错误 我不知道我哪里出错了。任何帮助都将不胜感激!

  • 我正在为一个项目使用Hackerrank API。查看官方文档,点击这里! 在他们的网站上有一个使用UNIREST的例子, 由于我使用的是axios,所以我将其转换为类似的axios代码,如下所示: 我希望这只适用于示例中所示的示例,但它给我带来了以下错误: 请求失败,状态代码为400 错误:请求失败,状态代码为400 在createError(createError.js:16) 在sett(s