将curl表达式转换为angular $ http命令

时间:2016-11-01 16:48:08

标签: angularjs curl

我尝试将curl表达式转换为$ http angular命令。

卷曲表达式为:

curl https://ws.sandbox.pagseguro.uol.com.br/sessions/ -d\ "email=suporte@lojamodelo.com.br\ &token=95112EE828D94278BD394E91C4388F20\

我使用的命令是:

$http({url: "https://ws.sandbox.pagseguro.uol.com.br/sessions?email=suporte@lojamodelo.com.br&token=95112EE828D94278BD394E91C4388F20",
            method: 'POST',
            headers: { 'Content-Type': 'application/{xml,json}', 'Accept': 'application/vnd.pagseguro.com.br.v3+{xml,json};charset=ISO-8859-1' }
        }).then(function (session) {
            ...
        }, function (error) {
            Logger.error(error);
        });
    }

但是服务器中出现NullPointerException错误。我想我已经将curl表达式转换为$ http angular。但

调用$ http angular cmd后返回的stacktrace为:

"<html><head><title>JBossWeb/2.0.1.GA - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NullPointerException
org.jboss.resteasy.plugins.server.servlet.HttpServletInputMessage.&lt;init&gt;(HttpServletInputMessage.java:60)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createHttpRequest(HttpServletDispatcher.java:64)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.createResteasyHttpRequest(HttpServletDispatcher.java:53)
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:190)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:48)
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
uol.pagseguro.commons.presentation.filter.CrossSiteScriptingFilter.doFilter(CrossSiteScriptingFilter.java:81)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
uol.pagseguro.commons.presentation.filter.UniqueIdTrackingFilter.doFilter(UniqueIdTrackingFilter.java:45)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
uol.pagseguro.commons.presentation.filter.SessionCreationTrackingFilter.doFilter(SessionCreationTrackingFilter.java:41)
br.com.uol.pagseguro.commons.web.filter.HttpFilter.doFilter(HttpFilter.java:25)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

注意 JBossWeb / 2.0.1.GA日志中提供了根本原因的完整堆栈跟踪。

JBossWeb / 2.0。 1.GA

&#34;

感谢&#39; S

1 个答案:

答案 0 :(得分:1)

您应该使用数据键传递参数:

$http({url: "https://ws.sandbox.pagseguro.uol.com.br/sessions",
            method: 'POST',
            data: {"email": "suporte@lojamodelo.com.br", "token":"95112EE828D94278BD394E91C4388F20"},
            headers: { 'Content-Type': 'application/{xml,json}', 'Accept': 'application/vnd.pagseguro.com.br.v3+{xml,json};charset=ISO-8859-1' }
        }).then(function (session) {
            ...
        }, function (error) {
            Logger.error(error);
        });
    }

参考:https://docs.angularjs.org/api/ng/service/ $ http#general-usage