标签: query-string

如何处理元组列表形式的查询参数?

给定参数名称和值的元组列表,例如:

[("foo", 10), ("bar", None), ("baz", "some_string")]
Run Code Online (Sandbox Code Playgroud)

和一些 url 字符串,例如:

"/some/url/string"
Run Code Online (Sandbox Code Playgroud)

我的函数应该能够创建以下输出字符串(请注意,查询字符串中不包含 None 值元组):

"/some/url/string?foo=10&baz=some_string"
Run Code Online (Sandbox Code Playgroud)

我尝试使用 join 但由于值并非都是字符串,因此我必须首先转换它们。也许有人可以帮助我用一种简短而干净的方式来做到这一点。

python string tuples list query-string

2
推荐指数
1
解决办法
1863
查看次数

如何使用参数重定向

<action name="AddedPaid"  class="iland.payment.SupplierPaidAction" method="insert">
  <result name="success"  type="redirect">ShowPaid</result>
  <result name="input">/pages/payment/addToPay.jsp</result>
  <result name="login">/pages/login.jsp</result> 
</action>   

<action name="ShowPaid" class="iland.payment.SupplierPaidAction" method="fetchAllByfk">
        <result name="success">/pages/paid/showPaidDetails.jsp</result>
        <result name="input">/pages/payment/ShowPay.jsp</result>
        <result name="login">/pages/login.jsp</result>            
 </action> 
Run Code Online (Sandbox Code Playgroud)

这里AddedPaidAction用于将表单数据添加到数据库中。将数据添加到数据库后,我将结果重定向到ShowPaid操作。这是正常工作的。现在我希望每当我将AddedPaid操作重定向到ShowPaid. 必须显示我已在 中添加数据ShowPaid的特定数据。supplierPaymentIdAddedPaid

重定向后是怎样的 url

http://localhost:8082/ClothStore/ShowPaid
Run Code Online (Sandbox Code Playgroud)

我想

http://localhost:8082/ClothStore/ShowPaid?supplierPaymentId=4
Run Code Online (Sandbox Code Playgroud)

struts2 post-redirect-get query-string

2
推荐指数
1
解决办法
6344
查看次数

如何在独立wiremock中匹配查询参数键和值?

我想运行wiremock的独立jar文件,并在用户点击特定url后发送一些json数据。

我创建了一个示例 json 文件并将其放置在我的应用程序的映射目录中。

样本.json

{


 "request":
    {
      "url": "/data?date=date",
      "method": "GET",
      "queryParameters" : {
          "date" : {
            "matches" : "^\\d{4}-\\d{2}-\\d{2}$"
          }
      }
    },

  "response":
    {
      "status": 200,
      "headers":
        {
          "Content-Type" : "application/json"
        },
      "body": "[{\"a\":\"A\",\"b\":\"B\",\"c\":\"C\"},{\"a\":\"A\",\"b\":\"B\",\"c\":\"C\"}]"
    }
}
Run Code Online (Sandbox Code Playgroud)

我想在浏览器中 ping 下面的 url,以便我可以在浏览器上获取 json 响应。

编辑后的网址 -

192.168.0.5:8080/data?date=2017-02-02
Run Code Online (Sandbox Code Playgroud)

我正在使用下面的命令来运行我的应用程序 -

java -jar wiremock-standalone-2.6.0.jar
Run Code Online (Sandbox Code Playgroud)

我想将查询参数日期值与请求的查询参数日期值相匹配。

我无法在浏览器中看到 json 响应,因为它无法识别请求的 url。

我在编写映射 json 文件时缺少什么?

如何编写查询参数以便识别我的输入请求并在浏览器上提供 json 响应?

json query-string wiremock

2
推荐指数
1
解决办法
2万
查看次数

当有route.paramMap.subscribe时,有什么理由使用route.snapshot.paramMap吗?

我想知道是否有任何理由使用

this.someProperty = this.route.snapshot.paramMap.get('someParam');
Run Code Online (Sandbox Code Playgroud)

代替

this.route.paramMap.subscribe((param) => 
{ 
  this.someProperty = param.get('someParam'); 
});
Run Code Online (Sandbox Code Playgroud)

queryParamMap 也是如此。

在我关注的教程中(由 Deborah Kurata 在 Pluralsight 上发布),他们似乎默认使用快照,并且仅当您期望参数更改而路线保持不变时才订阅。但应用程序往往会随着时间而改变。更改可能会导致参数发生变化而路线保持不变的情况。人们很容易忽视这种情况。

那么使用订阅而不是快照应该是(或者是)最佳实践吗?

快照方式写起来比较短,但是还有其他好处吗?

我可能在这里征求意见,但我想知道是否有官方的最佳实践。

提前致谢。

parameters query-string angular

2
推荐指数
1
解决办法
3883
查看次数

使用容器在本地调用AWS Lambda函数

所以我一直在尝试探索 Lambda 容器镜像

我有一个 lambda 函数如下

测试.go:

package main

import (
    "context"
    "fmt"
    "github.com/aws/aws-lambda-go/events"
    "github.com/aws/aws-lambda-go/lambda"
)


func handleRequest(ctx context.Context, request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {

    fmt.Println("Request %s \n\n", request)
    fmt.Println("Context %s \n\n", ctx)

    name := request.QueryStringParameters["name"]

    return events.APIGatewayProxyResponse{Body: fmt.Sprint("Hello %s", name), StatusCode: 200}, nil
}

func main() {
    lambda.Start(handleRequest)
}

Run Code Online (Sandbox Code Playgroud)

我的 Docker 文件为:

FROM amazon/aws-lambda-go

COPY bin/test /var/task

CMD [ "test" ]

Run Code Online (Sandbox Code Playgroud)

我构建了上面的docker文件,标签为testing_go,并按如下方式运行它

docker run -p 8080:8080 testing_go
Run Code Online (Sandbox Code Playgroud)

并尝试按如下方式调用它

curl -X GET --url http://localhost:8080/2015-03-31/functions/function/invocations?name=JOHN --header 'Content-Type: application/json' --data '{}'
Run Code Online (Sandbox Code Playgroud)

我看到容器日志显示了以下上下文和请求的值

Request …
Run Code Online (Sandbox Code Playgroud)

containers go query-string aws-lambda

2
推荐指数
1
解决办法
1970
查看次数

根据 WooCommerce 中的自定义字段过滤产品

我对 WooCommerce 中的自定义字段有疑问:有没有办法根据自定义字段元键和值显示产品?

我创建了一个用于交付的产品自定义字段,元键是custom_text_field_delivery,值是24h5days7days

然后我尝试通过 URL 获取它们,例如:localhost/shop/?custom_text_field_delivery=24h,但没有成功。

有什么方法可以显示它们,或者我应该为每个选项创建单个页面?

php product custom-fields query-string woocommerce

2
推荐指数
1
解决办法
3139
查看次数

NestJS如何在同一请求中传递@Param和@Query

我设置了这条路线:

  @Get('/name/like')
  findByLikeName(@Query() query: { supplierID: string; name: string }) {
    return this.supplierProductService.findByLikeName(query);
  }
Run Code Online (Sandbox Code Playgroud)

它利用底层服务中的查询参数:

  async findByLikeName({
    supplierID,
    name,
  }: {
    supplierID: string;
    name: string;
  }): Promise<SupplierProduct[]> {
    return await this.supplierProductRepository.findAll({
      where: {
        name: {
          [Op.like]: `%${name}%`,
        },
        supplierID: supplierID,
      },
    });
  }
Run Code Online (Sandbox Code Playgroud)

但是,假设我想将 sellerID 移动到 /:supplierID 路由参数中,同时在查询对象中维护名称(以及潜在的其他查询参数),我将如何实现这一点?

parameters query-string routeparams nestjs

2
推荐指数
1
解决办法
9600
查看次数

NextJS 中页面刷新时查询丢失

router.query.title当我刷新页面时消失。

据我发现,我必须使用 getServerSideProps,但我不知道在 getServerSideProps 上输入什么。或者有什么办法可以做到吗?

编辑:我尝试了 Yilmaz 的解决方案并删除了 as={} 现在它可以工作了。但是现在查询链接太长而不使用 as={} 有什么解决方案吗?

索引.tsx

const Projects = () => {
  const [projects, setProjects] = useState(data);

  {projects.slice(0, loadMore).map((project) => (
          <Link
            key={project.id}
            href={{
              pathname: "/projects/" + project.title,
              query: {
                id: project.id,
                category: project.category,
                title: project.title,
                image: project.image.src,
                image1: project.image1.src,
                image2: project.image2.src,
                image3: project.image3.src,
                image4: project.image4.src,
                image5: project.image5.src,
              },
            }}
            as={"/projects/" + project.title}
            passHref={true}
          >
}
Run Code Online (Sandbox Code Playgroud)

[id].tsx


import { GetServerSideProps } from "next";

export const getServerSideProps: GetServerSideProps = async (context) => { …
Run Code Online (Sandbox Code Playgroud)

query-string typescript reactjs server-side-rendering next.js

2
推荐指数
1
解决办法
8989
查看次数

在 .NET MAUI 中,您可以将数据传输对象作为查询字符串参数从一个视图传递到另一个视图吗?

我已经完成了 .NET MAUI“创建 .NET MAUI 应用程序”启动教程。我对教程进行了一些修改,以使用 sqlite 数据库而不是 CollectionView 中每一行的文件。当他们在集合视图中编辑一行时,他们将该行的 DTO id 传递给新视图:

await Shell.Current.GoToAsync($"{nameof(NotePage)}?{nameof(NotePage.ItemId)}={SelectedNote.ID}");
Run Code Online (Sandbox Code Playgroud)

新视图使用以下注释加载 ItemID:

[QueryProperty(nameof(ItemId), nameof(ItemId))]
Run Code Online (Sandbox Code Playgroud)

然后,我使用该 ItemId 并对数据库进行另一次调用以返回 DTO,但由于我是从数据库加载数据,所以我已经从 CollectionView 中获得了 DTO,我只想将整个内容传递给新视图,如下所示某种查询参数来节省资源。我该怎么做呢?

我在网上看到有人提供了一个教程,显示可以这样通过:

await Shell.Current.GoToAsync(nameof(NotePage), SelectedNote);
Run Code Online (Sandbox Code Playgroud)

但是 Visual Studio 说我的第二个参数必须是 bool,所以我猜那些教程是错误的。

有人知道是否可以通过这种方式或类似的方式从视图传递 DTO?

谢谢,

c# query-string maui

2
推荐指数
1
解决办法
1674
查看次数

ASP.NET MVC从表单创建查询字符串

我正在尝试创建一个简单的搜索框,其结果类似于http://www.example.com/Search?s=searchTerm 我有路由设置,以便它接受这样的网址,并做正确的事情.我遇到的问题是获取表单来创建查询字符串.我尝试了很多变化:

<% using (Html.BeginForm("Search", "Home", FormMethod.Get, new { ???? })) {%>
<input id="submitSearch" class="searchBox" type="text" runat="server"/>
<input type="submit" value="Search" /> <%} %>
Run Code Online (Sandbox Code Playgroud)

我不确定如何设置Html.BeginForm,因此它抓取submitSearch值并将其传递给/ Search?s = valueHere.这似乎我错过了一些简单的事情.

asp.net-mvc query-string

1
推荐指数
1
解决办法
4019
查看次数