这是原始方法:
@GET
@Produces({"application/json"})
public Response getTermClouds(@Context SecurityContext secCtxt, @Context UriInfo ui)
{
return null
}
我想复制此方法但添加一个新的String参数,新方法的注释与之前相同,如下所示:
@GET
@Produces({"application/json"})
public Response getTermClouds(@Context SecurityContext secCtxt, @Context UriInfo ui,String newParam)
{
return null
}
我使用javassist来做,我不想添加“get”注释然后添加一个“产生”注释,因为可能还有许多其他注释是未知的。如何以常见的方式做到这一点?
答案 0 :(得分:1)
当您尝试向方法添加新参数时,Javassist不允许向现有方法添加额外参数,而不是这样做,接收额外参数以及其他参数的新方法将添加到同班。
CtMethod对象的副本可以通过CtNewMethod.copy()获得。
尝试this创建以前方法的副本。你能准确解释一下你想用注释做什么吗?
答案 1 :(得分:0)
我意识到这已经过时了,但我遇到了同样的问题,试图将参数添加到Spring Web处理程序方法中,并且我已经弄明白了。您需要将旧类的属性复制到新类。您也可能希望将它们从旧版中删除以防止可能的冲突。代码如下所示:
@app.route('/delete_student',methods=['GET','POST'])
def delete_student():
if request.method=='POST':
roll_no = request.args.get("id")
return str(roll_no)