使用两个参数实现RESTful Web服务?

  发布于 2023-02-08 14:41

我正在编写Jersey RESTful Web服务.我有两种网络方法.

@Path("/persons")
public class PersonWS {
    private final static Logger logger = LoggerFactory.getLogger(PersonWS.class);

    @Autowired
    private PersonService personService;

    @GET
    @Path("/{id}")
    @Produces({MediaType.APPLICATION_XML})
    public Person fetchPerson(@PathParam("id") Integer id) {
        return personService.fetchPerson(id);
    }


}

现在我需要再写一个web方法,它接受两个参数,一个是id,另一个是name.它应该如下.

public Person fetchPerson(String id, String name){

}

如何为上述方法编写Web方法?

谢谢!

1 个回答
  • 您有两种选择 - 您可以将它们放在路径中,也可以将其作为查询参数.

    即你想要它看起来像:

    /{id}/{name}
    

    要么

    /{id}?name={name}
    

    对于第一个只做:

    @GET
    @Path("/{id}/{name}")
    @Produces({MediaType.APPLICATION_XML})
    public Person fetchPerson(
              @PathParam("id") Integer id,
              @PathParam("name") String name) {
        return personService.fetchPerson(id);
    }
    

    对于第二个,只需将名称添加为RequestParam.你可以混合PathParams和RequestParams.

    2023-02-08 14:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有