`

REST web Services 的问题 “does not have a no-arg default constructor”

 
阅读更多

最近由于项目需要,研究后决定是REST web Services,在开发中遇到报错如下:

 

 

严重: Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
com.hnyxsm.entry.dataExchange.TDsInterface does not have a no-arg default constructor.
	this problem is related to the following location:
		at com.hnyxsm.entry.dataExchange.TDsInterface

 百度 谷歌无数,唯一一个对号的文章,图片不能显示。

 

万般无奈下,百度“ does not have a no-arg default constructor”的英文意思。问题终于解决了。

 

下面是原错误文件代码

 

 

package com.hnyxsm.entry.dataExchange;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="TDsInterface")
/**
 * 数据交换--接口管理
 * @author SuperYuan
 */
public class TDsInterface implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -1693894354995782167L;
	
	private int id;/* 主键 */
	private String title; /* 接口标题 */
	private String identificationCode;/* 识别码 */
	private String introdution; /* 功能简介 */
	private String sqlCode;/* sql语句 */
	private String reDateType;/* 返回数据类型 */
	private int reDateNumber;/* 返回数据条数 */
	
	
	public TDsInterface(int id, String title, String identificationCode,
			String introdution, String sqlCode, String reDateType,
			int reDateNumber) {
		this.id = id;
		this.title = title;
		this.identificationCode = identificationCode;
		this.introdution = introdution;
		this.sqlCode = sqlCode;
		this.reDateType = reDateType;
		this.reDateNumber = reDateNumber;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getIntrodution() {
		return introdution;
	}

	public void setIntrodution(String introdution) {
		this.introdution = introdution;
	}

	public String getIdentificationCode() {
		return identificationCode;
	}

	public void setIdentificationCode(String identificationCode) {
		this.identificationCode = identificationCode;
	}

	public String getSqlCode() {
		return sqlCode;
	}

	public void setSqlCode(String sqlCode) {
		this.sqlCode = sqlCode;
	}

	public String getReDateType() {
		return reDateType;
	}

	public void setReDateType(String reDateType) {
		this.reDateType = reDateType;
	}

	public int getReDateNumber() {
		return reDateNumber;
	}

	public void setReDateNumber(int reDateNumber) {
		this.reDateNumber = reDateNumber;
	}
}

 

这是纠正后,能正确运行的代码:

 

package com.hnyxsm.entry.dataExchange;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="TDsInterface")
/**
 * 数据交换--接口管理
 * @author SuperYuan
 */
public class TDsInterface implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -1693894354995782167L;
	
	private int id;/* 主键 */
	private String title; /* 接口标题 */
	private String identificationCode;/* 识别码 */
	private String introdution; /* 功能简介 */
	private String sqlCode;/* sql语句 */
	private String reDateType;/* 返回数据类型 */
	private int reDateNumber;/* 返回数据条数 */
	public TDsInterface() {//关键就是这个,有了它,问题纠正
		super();
	}	
	public TDsInterface(int id, String title, String identificationCode,
			String introdution, String sqlCode, String reDateType,
			int reDateNumber) {
		this.id = id;
		this.title = title;
		this.identificationCode = identificationCode;
		this.introdution = introdution;
		this.sqlCode = sqlCode;
		this.reDateType = reDateType;
		this.reDateNumber = reDateNumber;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getIntrodution() {
		return introdution;
	}

	public void setIntrodution(String introdution) {
		this.introdution = introdution;
	}

	public String getIdentificationCode() {
		return identificationCode;
	}

	public void setIdentificationCode(String identificationCode) {
		this.identificationCode = identificationCode;
	}

	public String getSqlCode() {
		return sqlCode;
	}

	public void setSqlCode(String sqlCode) {
		this.sqlCode = sqlCode;
	}

	public String getReDateType() {
		return reDateType;
	}

	public void setReDateType(String reDateType) {
		this.reDateType = reDateType;
	}

	public int getReDateNumber() {
		return reDateNumber;
	}

	public void setReDateNumber(int reDateNumber) {
		this.reDateNumber = reDateNumber;
	}
}
3
1
分享到:
评论
3 楼 ajian0051 2015-03-23  
缺少一个无参的构造方法!谢谢博主
2 楼 fch7120mn 2012-09-19  
不错,解决了我一个问题
1 楼 xiang520jl 2012-07-05  
我也遇到了这样的问题  ,,,是什么原因导致的啊。。。

相关推荐

    开源项目-alexflint-go-arg.zip

    《深入解析开源项目:alexflint/go-arg》 在软件开发中,命令行参数(command line flags)的处理是一项基础但重要的任务。通常,我们使用API来定义、解析和处理这些参数,以便我们的程序能够根据用户在命令行中...

    PyPI 官网下载 | smart-arg-0.0.2.tar.gz

    "PyPI 官网下载 | smart-arg-0.0.2.tar.gz"的标题表明我们要讨论的是一个从PyPI下载的名为"smart-arg"的Python库,其版本号为0.0.2,并且以tar.gz格式压缩。 "smart-arg"这个库可能是一个处理命令行参数和选项的...

    npm-package-arg:解析可以作为`npm install`参数的内容

    npm-package-arg 解析传递给命令(如npm install或npm cache add )或在package.json依赖项部分中找到的包名称和说明符。 例子 var assert = require ( "assert" ) var npa = require ( "npm-package-arg" ) // ...

    jcaptcha-all-1.0-RC6.jar 和 解决步骤 包

    2.修改配置文件WEB-INF/config/captcha-context.xml <constructor-arg index="0" ref="imageEngine"/> <constructor-arg type="int" index="1" value="180"/> <constructor-arg type="int" index="2" value=...

    Kotlin之在Gradle中无参(no-arg)编译器插件的使用详解

    为解决这个问题,Kotlin提供了Gradle的no-arg编译器插件,它能自动为标记了特定注解的data class生成一个无参数构造函数。 1. **无参构造函数的需求** 在Spring Boot项目中,实体类通常需要无参数构造函数,以便...

    二茂铁-肽Boc-HN-Fca-Gly-Gly-Tyr-Arg-OMe的合成和电化学性质 (2007年)

    以二茂铁二甲酸、甘氨酸、酪氨酸和精氨酸为原料,通过多步反应,合成新的二茂铁-肽衍生物 Boc-HN-Fca-Gly-Gly-Tyr-Arg-OMe(7)(Fca代表二茂铁氨基酸) 和Boc-HN-Fca-Gly-Gly-Tyr-Arg-OH(8),对寡聚肽的合成进行研究;...

    013-define-func-1-arg-unused.rar_There There

    标题“013-define-func-1-arg-unused.rar_There There”和描述“returns NULL if there isn't a full record in the buffer.”涉及到的是一个关于处理数据流和函数定义的编程问题,尤其是在C语言环境下。这个场景...

    Android代码-retrofit1-okhttp3-client

    Retrofit 1 OkHttp 3 Client ...You can also use the no-arg constructor for a default OkHttpClient instance. Download Gradle: compile 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.1.0' or M

    TK1.2-ARG0vsARG1.tar.gz_svm分类器_中文分类器

    "TK1.2-ARG0vsARG1.tar.gz_svm分类器_中文分类器"这一文件集合,显然关注的是SVM在处理中文文本分类问题的应用,尤其是针对ARG0的训练和测试。 SVM分类器的核心思想是构建一个最优超平面,将不同类别的数据尽可能地...

    前端开源库-argx

    **argx:前端开源库,解析函数参数的艺术** 在前端开发中,我们经常需要处理各种各样的函数调用,有时需要这些函数能够接受不同数量或类型的参数,以满足灵活的编程需求。`argx` 就是这样一款开源库,它专为分析...

    go-arg:Go中基于结构的参数解析

    var args struct {Foo stringBar bool}arg . MustParse ( & args )fmt . Println ( args . Foo , args . Bar )$ ./example --foo=hello --barhello true安装go get github.com/alexflint/go-arg必填参数var args ...

    resin_jmx.txt

    Resin 是一款高性能的 Java 应用服务器,它支持 Java EE 和 Web 2.0 技术,被广泛应用于构建企业级应用系统。Java Management Extensions (JMX) 是 Java 平台上的一种标准管理技术,用于管理和监控 Java 应用程序。...

    前端开源库-argx.zip

    《前端开源库Argx深度解析》 在前端开发领域,高效、灵活的工具库是提升开发效率的关键。本文将深入探讨一个名为“Argx”的前端开源库,它为JavaScript开发者提供了一种强大的参数处理和验证功能。通过了解并熟练...

    validate-arg-types:有效参数的简单实用程序。 配置以记录或抛出错误

    安装 npm install https://github.com/emileswain/validate-arg-types/tarball/master --save npm install validate-arg-types --save用法新建实例 var ValidateArgs = require ( 'validate-arg-types' ) ;...

    python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法

    python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法 前言:  在Python中,这两个是python中的可变参数,*arg表示任意多个无名参数,类型为tuple,**kwargs表示关键字参数,为dict,使用时需将...

    rh-nodejs6-nodejs-npm-package-arg-4.2.0-2.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    rh-nodejs6-nodejs-npm-package-arg-4.2.0-1.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics