假设我有一个支持三种方法的端点:GET,POST和PUT。
将返回的类型包含两个属性:id
和name
。两者都是required
。
我的问题是关于如何在RAML定义中定义此类型,因为在POST
上,id
应该自动创建,PUT
id
将是URI
Types
参数。你们是否创建了两个id
(一个用于GET,另一个用于PUT,POST)或者对所有操作使用相同的类型,声明required
不是cv::Mat depth(m_input.m_leftImg.size(), CV_32FC3, cv::Scalar::all(0));
int size = feOutput.m_leftKp.size();
for (int i = 0; i < size; i++)
{
cv::Point pt = cv::Point((int)(feOutput.m_leftKp.at(i).pt.x + 0.5f), (int)(feOutput.m_leftKp.at(i).pt.y + 0.5f));
depth.at<cv::Vec3f>(pt)[2] = fX * baseLine / (feOutput.m_leftKp.at(i).pt.x - feOutput.m_rightKp.at(i).pt.x); // Z
depth.at<cv::Vec3f>(pt)[0] = (feOutput.m_leftKp.at(i).pt.x - cX) * depth.at<cv::Vec3f>(pt)[2] / fX; // X
depth.at<cv::Vec3f>(pt)[1] = (feOutput.m_leftKp.at(i).pt.y - cY) * depth.at<cv::Vec3f>(pt)[2] / fY; // Y
}
depth /= 1000.f; //milli-meter to meter
?
很抱歉,如果这似乎是一个基本问题,但我搜索了这个并没有得到任何结论性的回复。
非常感谢!
答案 0 :(得分:1)
也许您可以举例说明您希望它如何运作。另请指定您正在使用的RAML版本(现在假设为1.0)。
您的端点提供POST。这意味着您可以添加项目的某种集合。然后,您可以使用GET来检索此类项目。
/collection
(所有商品)和/collection/12345678
(仅限一个商品,特别是商品) ID 12345678)/collection?id=12345678
(恰好包含一个项目而不是多个项目的集合的子集)也许,你也可以考虑使用uriParameters。
举例说明:
/types:
myidtype:
type: string
pattern: ^[0-9]{8}$
/collection:
get: # to retrieve the entire collection
queryParameters: # to be able to filter the collection into a subset of 1 or more items
id:
type: myidtype
required: false
name:
type: string
required: false
post: # to create a new item and add it to the collection, id and name will go in the body
/{myId}: # this is one item
uriParameters:
myId:
type: myidtype
get: # to retrieve all information on this item
post: # to post some property to this item
请注意我的例子并不完全正确。它是关于概念而不是精确的语法。