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

对于Spring RESTful应用程序使用ResponseEntity和@RestController时

舒赞
2023-03-14
    null

例如:

@Controller
@RequestMapping("/person")
@Profile("responseentity")
public class PersonRestResponseEntityController {

方法(只创建)

@RequestMapping(value="/", method=RequestMethod.POST)
public ResponseEntity<Void> createPerson(@RequestBody Person person, UriComponentsBuilder ucb){
    logger.info("PersonRestResponseEntityController  - createPerson");
    if(person==null)
        logger.error("person is null!!!");
    else
        logger.info("{}", person.toString());

    personMapRepository.savePerson(person);
    HttpHeaders headers = new HttpHeaders();
    headers.add("1", "uno");
    //http://localhost:8080/spring-utility/person/1
    headers.setLocation(ucb.path("/person/{id}").buildAndExpand(person.getId()).toUri());

    return new ResponseEntity<>(headers, HttpStatus.CREATED);
}

归还某物

@RequestMapping(value="/{id}", method=RequestMethod.GET)
public ResponseEntity<Person> getPerson(@PathVariable Integer id){
    logger.info("PersonRestResponseEntityController  - getPerson - id: {}", id);
    Person person = personMapRepository.findPerson(id);
    return new ResponseEntity<>(person, HttpStatus.FOUND);
}
    null
@RestController
@RequestMapping("/person")
@Profile("restcontroller")
public class PersonRestController {
@RequestMapping(value="/", method=RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public void createPerson(@RequestBody Person person, HttpServletRequest request, HttpServletResponse response){
    logger.info("PersonRestController  - createPerson");
    if(person==null)
        logger.error("person is null!!!");
    else
        logger.info("{}", person.toString());

    personMapRepository.savePerson(person);
    response.setHeader("1", "uno");

    //http://localhost:8080/spring-utility/person/1
    response.setHeader("Location", request.getRequestURL().append(person.getId()).toString());
}
@RequestMapping(value="/{id}", method=RequestMethod.GET)
@ResponseStatus(HttpStatus.FOUND)
public Person getPerson(@PathVariable Integer id){
    logger.info("PersonRestController  - getPerson - id: {}", id);
    Person person = personMapRepository.findPerson(id);
    return person;
}
    null

暂时还没有答案

 类似资料:
  • 问题内容: 我正在使用Spring Framework 4.0.7,MVC和Rest 我可以在以下方面安心工作: 例如: 用的方法(只是创建) 退还一些东西 工作良好 我可以用 : (我知道它与+ 相同) 例如: 用的方法(只是创建) 退还一些东西 我的问题是: 如果 出于确凿的原因 或 特定情况, 必须强制使用另一种选择 如果(1)无关紧要,则建议采用什么方法以及为什么。 问题答案: 旨在表示整

  • 问题内容: 我正在使用Spring Framework 4.0.7,MVC和Rest 我可以和以下人一起安心工作: 例如: With the method (just to create) to return something 工作正常 我可以用: (我知道它与+ 相同y) 例如: With the method (just to create) to return something 我的问题

  • 我正在为我的REST Web服务使用Spring@RESTController。我尝试在rest方法中返回ResponseEntity对象的对象,而不是返回ModelAndView的对象。对于Strgin类型的响应,当我用一个Jaxbobject构建ResponseEntity时,它会给出HTTP错误406 下面不起作用

  • 我有一个运行良好的Spring启动应用程序,直到我在我的应用程序中包含Kafka消费者和生产者。运行完全没有问题的代码是有一个restController,如下所示: 这个rest终点给出了期望的响应。现在,我包括Kafka制作人和消费者 在包含这些消费者和生产者之后,我的应用程序没有启动。我没有看到之前应用程序运行正常时显示的以下行。 2019-12-12 15:01:12.090信息38376

  • 问题内容: 我们正在使用Spring(4.1.1。)实现REST API。对于某些HTTP请求,我们希望返回一个没有主体的头作为响应。但是,使用似乎无效。通过MockMvc测试调用时,返回406(不可接受)。使用不带参数的值()工作正常。 方法: 测试用例(TestNG): 此堆栈跟踪失败: 问题答案: 注意:对于问题4.1.1.RELEASE中提到的版本,这是正确的。 通过来处理返回值。 当Re

  • 我有一个Dropwizard应用程序,它使用Dropwizard度量并使用BigTable进行持久化。我已经从我的应用程序向graphite报告了指标,并且也希望报告客户端BigTable指标。我看到现有的类<code>BigtableClientMetrics<code>支持报告客户端指标<还提供了code>DropwizardMetricRegistry,它包装了DropWidger并创建了类