我想知道是否有人在Symfony中设置动态元标题有任何好的建议/经验?
目前,我所知道的解决方案是使用以下代码在每个操作中单独设置标题:
$this->getResponse()->setTitle('This is a title');
Run Code Online (Sandbox Code Playgroud)
因为我还需要翻译标题,我可以在动作中调用i18n帮助程序,将它们包含在提取的XLIFF中.不需要特殊的SEO东西,只是一个干净的标题.
但是,上面的确需要我分别调整每一个动作.View.yml不合适,因为我经常每个模块有多个动作/模板.
是否有人知道Symfony有更好的方法,或者这确实是正确/唯一的方法吗?
谢谢.
我需要能够在某个模式的位置响应标头中测试URL字符串,如果匹配则将其替换为另一个模式.
例如,如果响应是位置:http://wrongserver.com我需要将其更改为位置:http://rightserver.com
似乎mod_setenvif仅对请求标头进行操作,因此我无法将其与"标头集"指令相结合以实现我想要的目标.
内容未被代理,因此使用mod_proxy指令似乎不是一个选项.
谢谢,伯尼
我正在尝试使用spring rest模板来发布登录请求.
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
mvm.add("LoginForm_Login", "login");
mvm.add("LoginForm_Password", "password");
ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);
Run Code Online (Sandbox Code Playgroud)
我的ResponseEntity状态是302,我想跟随此请求获取正文响应,因为我没有获得此请求的正文.
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - StatusResponse - 302
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - BodyResponse -
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能解决这个问题?
如果失败,我有api返回400或404错误.
当我运行http.get方法时,它不会捕获订阅错误并抛出错误.
Http.get(`api/path/here`).map(res => res.json()).subscribe(
data => console.log(data),
error => console.log(error)
);
Run Code Online (Sandbox Code Playgroud)
以下是我得到的错误
我正在使用 Firefox,想要分析页面的请求/响应。
有没有办法在进入/打开页面(自动打开第二个选项卡)之前打开开发人员工具( firefox-developer-tools ) - 即“网络”。
否则将无法正确跟踪流量。
当我使用 cy.request() 命令时,Cypress 加载响应正文时遇到问题。
在我们的应用程序中,当填写并提交表单时,它会发布,并且响应正文是新页面。
当我尝试在赛普拉斯中执行时,是以编程方式填写表格。因此,我设置了一个 cy.request() 命令,其正文填充了表单字段,这与手动填写时发生的情况相同。当我运行该命令时,我可以查看控制台并看到返回了正确的正文,但新文档页面未加载。所以我只能坐在旧的空表单页面上。
cy.request({
url: "company-webpage-form-url.com",
method: "POST",
form: true,
body: {
first_name: "first_name",
last_name: "last_name",
company_name: "company_name",
address1: "address1",
address2: "address2",
city: "city",
state: "NY",
zip: "13903",
country: "US",
phone_number: "607-555-5555",
phone_ext: "555",
fax_number: "fax_number",
fax_ext: "fax_ext",
email: "developer@company.com",
email_2: "developer@company.com",
user_data: "Continue"
}
});
Run Code Online (Sandbox Code Playgroud)
所有数据都是正确的,我得到了正确的响应正文,但我只能在控制台中看到它。我不知道如何加载它,就像我提交表单时一样。我现在得到的只是 200 响应,测试结束。
我尝试立即访问下一个 URL,但收到一条错误消息,指出该 URL 的页面不存在。我尝试在 POST 之后单击提交按钮,但这只会导致提交空表单,从而导致验证错误。
我不知道如何让 cypress 加载响应正文,该正文采用文档的形式(新页面)。有人有什么建议吗?
编辑:我应该补充一点 - 我希望通过 POST 填写表格的原因是因为我需要填写该表格来测试某些选项是否有效。我有一个测试可以确保表单字段和提交按要求工作,但对于需要在此表单另一侧检查的 30 多个选项,我想遵循赛普拉斯的最佳实践,即不要每次都手动填写表单单次(他们展示了在网站上登录的示例)。
我认为这会相当简单,但我很难成功发送响应,然后修改存储在服务工作线程内的缓存中的克隆响应。
最终,我想将缓存的数据附加到获取的时间和日期。我正在使用我的服务工作人员首先从网络获取此数据,如果数据不可用,则回退到缓存。
这是我的服务人员的代码
event.respondWith(
fetch(event.request)
.then(function(e) {
console.log('response', e)
var responseToCache = e.clone();
responseToCache.json().then(function(data) {
var today = new Date();
var date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
data.cached = { date: date, time: time }
return data
})
// var init = {
// status: response.status,
// statusText: response.statusText,
// headers: { 'X-Foo': 'My Custom Header' }
// };
// response.headers.forEach(function(v, …Run Code Online (Sandbox Code Playgroud) javascript response httpresponse service-worker service-worker-events
我一直在使用503 服务不可用或停机进行维护。
然而,一些 http 客户端库(即 axios)将 503 视为可重试错误。
如果由于高负载而产生响应,则重试是有意义的,但 503 也适合功能切换情况。
对人们使用的其他代码有什么建议吗?
我想以 selenium-wire 中的字符串形式获取响应主体,最终将其解析为 JSON。
response.body在 selenium-wire 中给出字节字符串。我尝试解码它,response.body.decode('utf-8')但这给出了解码错误。
有人可以帮我弄这个吗?我对这两种解决方案都很好:
response ×10
http ×2
httpresponse ×2
rest ×2
action ×1
angular ×1
apache ×1
api-design ×1
c# ×1
cypress ×1
firefox ×1
header ×1
javascript ×1
metadata ×1
mod-headers ×1
raw-data ×1
redirect ×1
request ×1
selenium ×1
seleniumwire ×1
soap ×1
spring ×1
symfony1 ×1
title ×1
utf-8 ×1
web-services ×1