Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 春假问题_Spring_Unit Testing_Rest - Fatal编程技术网

Spring 春假问题

Spring 春假问题,spring,unit-testing,rest,Spring,Unit Testing,Rest,尝试使用Spring RestApi测试testCreateUser方法时出错,uploadNewUser.xml包含有关用户和角色的登录信息 @Test public void testCreateUser() throws Exception { Reader reader = getFileReader("src/test/resources/uploadNewUser.xml"); String input_xml = IOUtils.toString(reade

尝试使用Spring RestApi测试testCreateUser方法时出错,uploadNewUser.xml包含有关用户和角色的登录信息

  @Test
  public void testCreateUser() throws Exception {
    Reader reader = getFileReader("src/test/resources/uploadNewUser.xml");
    String input_xml = IOUtils.toString(reader);

    byte[] content = input_xml.getBytes();
    request.addHeader("Accept", "application/xml");
    request.addHeader("Content-Type", "application/xml");
    request.setContent(content);
    request.setContentType("text/xml");
    request.setMethod(RequestMethod.POST.name());
    request.setRequestURI("/restapi/users/");
    final ModelAndView mav = handle(request, response);
    Map<String, Object> map = mav.getModel();
    for (Entry<String, Object> entry : map.entrySet()) {
      String key = entry.getKey();
      UserCollection collection = (UserCollection) entry.getValue();
我遇到了无法将GlobalRespose转换为UserCollection的问题。谁能告诉我我到底哪里做错了?欢迎任何帮助或指点,提前谢谢 abstractbaseapi包含以下内容

public class AbstractBaseApi {

  public static final String XML_VIEW = "apiXmlView";
  public static final String JSON_VIEW = "apiJsonView";
  public static final String JSON_ACCEPT_HEADER = "application/json";
  public static final String JSON_CONTENT_HEADER = "Content-type: application/json";
  public static final String XML_CONTENT_HEADER = "Content-type: text/html;charset=utf-8";
  public static final int MAX_COUNT = 100;
  public static final String XML_REQUEST_ERROR_FORMAT = "<?xml version='1.0' encoding='UTF-8'?><GlobalResponse xmlns='http://www.operative.com/api' xmlns:v2='http://www.operative.com/api/v2' xmlns:v1='http://www.operative.com/api/v1'> <error errorCode='%1$s' text='%2$s'/> </GlobalResponse>";
  public static final String JSON_REQUEST_ERROR_FORMAT = "{error:{errorCode:'%1$s',text:'%2$s'}}";

  protected final Logger logger = Logger.getLogger(this.getClass());

  protected ModelAndView getModelAndView(String accept, String key, Object value) {
    String view = XML_VIEW;

    if (accept != null && accept.toLowerCase().contains(JSON_ACCEPT_HEADER)) {
      view = JSON_VIEW;
    }
    if (logger.isDebugEnabled()) {
      logger.debug("Accept Header:" + accept + " , generating:" + view);
    }

    return new ModelAndView(view, BindingResult.MODEL_KEY_PREFIX + key, value);
  }

您的模型包含的内容比您想象的要多

您正在浏览您的模型并查找您的用户集合。但是,在地图中遇到的第一个对象似乎是GlobalResponse地图

你可能应该从模型中按名称来获取它,即

UserCollection collection = (UserCollection) mav.getModel().get("userCollection");

你可以编辑它,这样我们就可以清楚地看到代码和错误信息了吗?嗨,尼尔斯,我编辑了这篇文章,让你清楚地看到错误信息。你也可以展示你的控制器方法吗?
public class AbstractBaseApi {

  public static final String XML_VIEW = "apiXmlView";
  public static final String JSON_VIEW = "apiJsonView";
  public static final String JSON_ACCEPT_HEADER = "application/json";
  public static final String JSON_CONTENT_HEADER = "Content-type: application/json";
  public static final String XML_CONTENT_HEADER = "Content-type: text/html;charset=utf-8";
  public static final int MAX_COUNT = 100;
  public static final String XML_REQUEST_ERROR_FORMAT = "<?xml version='1.0' encoding='UTF-8'?><GlobalResponse xmlns='http://www.operative.com/api' xmlns:v2='http://www.operative.com/api/v2' xmlns:v1='http://www.operative.com/api/v1'> <error errorCode='%1$s' text='%2$s'/> </GlobalResponse>";
  public static final String JSON_REQUEST_ERROR_FORMAT = "{error:{errorCode:'%1$s',text:'%2$s'}}";

  protected final Logger logger = Logger.getLogger(this.getClass());

  protected ModelAndView getModelAndView(String accept, String key, Object value) {
    String view = XML_VIEW;

    if (accept != null && accept.toLowerCase().contains(JSON_ACCEPT_HEADER)) {
      view = JSON_VIEW;
    }
    if (logger.isDebugEnabled()) {
      logger.debug("Accept Header:" + accept + " , generating:" + view);
    }

    return new ModelAndView(view, BindingResult.MODEL_KEY_PREFIX + key, value);
  }
UserCollection collection = (UserCollection) mav.getModel().get("userCollection");