Replace factory with builder when creating operation requests/responses
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- java
- Domain
- backend-api-design
Research direction
Start by locating OperationRequestFactory and OperationResponseFactory and their usages, especially in custom pre-processors. Compare the proposed builders with the existing factory inputs and defaults; done should mean request and response creation can use builders while preserving existing behavior and simplifying those call sites.
Written by the indexing model from the issue text.
Description
Both the OperationRequestFactory and OperationResponseFactory leads to unnecessary code in custom pre-processors:
new OperationRequestFactory().create(
uri,
request.getMethod(),
request.getContent(),
headers,
request.getParts(),
cookies
);
A possible way to simplify the request creation is to use the Builder design pattern:
new OperationRequestBuider(request)
.withUri(uri)
.withHeaders(headers)
.withCookies(cookies)
.build();
The OperationRequestBuilder will builds the new request using the request argument fields as defaults, like a StringBuilder.
- Dominant language
- Java
- Stars
- 1.2k
- Forks
- 731
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from spring-projects/spring-restdocs
-
status: waiting-for-triage
Difficulty 5/5 Over a week Newbie friendliness 45/100
spring-projects/spring-restdocs#1026 · 2 comments ·
-
status: waiting-for-votes type: enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
spring-projects/spring-restdocs#1020 · 6 comments ·
-
type: enhancement
spring-projects/spring-restdocs#995 · 1 assignee ·
-
status: blocked status: waiting-for-triage
Difficulty 4/5 3-5 days Newbie friendliness 35/100
spring-projects/spring-restdocs#953 · 7 comments ·
-
type: enhancement
Difficulty 3/5 1-2 days Newbie friendliness 45/100
All issues in spring-projects/spring-restdocs
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100