当我使用C#创建客户端时,我很难从REST api解析我的错误请求响应.我使用Fiddler 2测试了REST api并在那里执行它,但是当我以编程方式创建相同的东西时,我得到400响应.这是我的Fiddler作曲家测试:
网址:
https://<third-party-rest-client>/api/v2/job
Run Code Online (Sandbox Code Playgroud)
这是我的标题
User-Agent: Fiddler
Content-Type: application/json
Accept: application/json
icSessionId: PomCSBCVU4VgXCJ5
Content-Length: 123
Run Code Online (Sandbox Code Playgroud)
这是我正在发送POST请求的正文
{
"@type": "job",
"taskId":"0000G20G000000000002",
"taskName":"TestReplication",
"taskType":"DRS",
"callbackURL":""
}
Run Code Online (Sandbox Code Playgroud)
这个POST返回200响应和响应体,这是完美的,但当我尝试使用此代码在C#中模拟相同的事情时:
public JobResponse RunJob(JobRequest jobRequest)
{
try
{
client = new HttpClient();
client.BaseAddress = new Uri(loggedUser.serverUrl + "/");
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.TryAddWithoutValidation("icSessionId", icSessionId);
string message = JsonConvert.SerializeObject(jobRequest);
message = message.Insert(1, "\"@type\": \"job\",");
Console.WriteLine(message);
var response = client.PostAsJsonAsync("api/v2/job", message).Result;
if (response.IsSuccessStatusCode)
{
return response.Content.ReadAsAsync<JobResponse>().Result;
}
else
{
var result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
}
catch …Run Code Online (Sandbox Code Playgroud) 我正在为客户可以使用的库创建指令.我需要让客户为指令创建自己的模板,并将该模板的绝对url值传递给我的指令.我的一个指令将在其中包含另一个自定义指令,并且它的模板将根据父指令的一个属性的值来计算.这是一个例子:
<parent-dir menu-template="this.html" item-template="that.html"></parent-dir>
Run Code Online (Sandbox Code Playgroud)
我有一个这个指令的模板,如下所示:
<ul style="list: none" ng-repeat="item in menu">
<child-dir template="{{itemTemplate}}"></child-dir>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的指令看起来像这样:
angular.module('myApp')
.directive('parentDir', function () {
return {
restrict: 'E',
scope: {
menuTemplate: '@',
itemTemplate: '@',
menuType: '@',
menuName: '@',
menuId: '@',
},
templateUrl: function (element, attrs) {
alert('Scope: ' + attrs.menuTemplate);
return attrs.menuTemplate;
},
controller: function ($scope, $element, $attrs) {
$scope.defaultSubmit = false;
alert('Menu: '+$attrs.menuTemplate);
alert('Item: ' + $attrs.itemTemplate);
$scope.itemTemplate = $attrs.itemTemplate;
if ($attrs.$attr.hasOwnProperty('defaultSubmit')) {
alert('It does');
$scope.defaultSubmit = true;
}
}
};
})
.directive('childDir', …Run Code Online (Sandbox Code Playgroud) 我刚开始使用 Oracle,在开始向应用程序添加内容之前,我使用 SQL Developer 进行测试,但我遇到了问题,因为 Oracle 的行为与我使用过的所有其他数据库引擎都不同。
我创建了一个虚拟表:
CREATE TABLE "ROOT"."EMPLOYEES"
( "ID" NUMBER NOT NULL ENABLE,
"FIRSTNAME" VARCHAR2(30 BYTE) NOT NULL ENABLE,
"LASTNAME" VARCHAR2(30 BYTE) NOT NULL ENABLE,
"EMAIL" VARCHAR2(40 BYTE) NOT NULL ENABLE,
CONSTRAINT "EMPLOYEES_PK" PRIMARY KEY ("ID")
)
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个程序:
create or replace PROCEDURE get_employee
(
emp_id IN NUMBER,
m_FirstName OUT Varchar2,
m_LastName OUT Varchar2,
m_Email OUT Varchar2
)
AS
BEGIN
SELECT
FirstName
,LastName
,Email
INTO
m_FirstName,
m_LastName,
m_Email
FROM EMPLOYEES
WHERE
ID = emp_id;
END get_employee;
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试运行该过程时出现编译错误: …