相关疑难解决方法(0)

多个场景@RequestMapping与Accept或ResponseEntity一起生成JSON/XML

我正在使用Spring 4.0.7

关于Spring MVC,出于研究目的,我有以下内容:

@RequestMapping(value="/getjsonperson", 
                method=RequestMethod.GET, 
                produces=MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Person getJSONPerson(){
    logger.info("getJSONPerson - getjsonperson");
    return PersonFactory.createPerson();
}

@RequestMapping(value="/getperson.json", method=RequestMethod.GET)
public @ResponseBody Person getPersonJSON(){
    logger.info("getPerson - getpersonJSON");
    return PersonFactory.createPerson();
}
Run Code Online (Sandbox Code Playgroud)

每个都工作正常,观察JSON,有和没有扩展:

  • / getjsonperson
  • /getperson.json

对于XML也是如此

@RequestMapping(value="/getxmlperson",
                method=RequestMethod.GET,
                produces=MediaType.APPLICATION_XML_VALUE
                )
public @ResponseBody Person getXMLPerson(){
    logger.info("getXMLPerson - getxmlperson");
    return PersonFactory.createPerson();
}

@RequestMapping(value="/getperson.xml", method=RequestMethod.GET)
@ResponseBody
public Person getPersonXML(){
    logger.info("getPerson - getpersonXML");
    return PersonFactory.createPerson();
}
Run Code Online (Sandbox Code Playgroud)

每个都工作正常,观察XML,有和没有扩展:

  • / getxmlperson
  • /getperson.xml

现在关于Restful我有以下内容:

@RequestMapping(value="/person/{id}/", 
                method=RequestMethod.GET,
                produces={MediaType.APPLICATION_JSON_VALUE, 
                          MediaType.APPLICATION_XML_VALUE})
public ResponseEntity<Person> getPersonCustomizedRestrict(@PathVariable Integer id){
    Person person = personMapRepository.findPerson(id); …
Run Code Online (Sandbox Code Playgroud)

rest spring spring-mvc spring-3 spring-4

36
推荐指数
1
解决办法
12万
查看次数

标签 统计

rest ×1

spring ×1

spring-3 ×1

spring-4 ×1

spring-mvc ×1