Http Snippet Parent

An HTTP Request snippet generator for Springfox

License

License

Apache License 2.0
GroupId

GroupId

io.github.atkawa7
ArtifactId

ArtifactId

httpsnippet-parent
Last Version

Last Version

1.0.7
Release Date

Release Date

Type

Type

pom
Description

Description

Http Snippet Parent
An HTTP Request snippet generator for Springfox
Project URL

Project URL

https://github.com/atkawa7/httpsnippet
Source Code Management

Source Code Management

https://github.com/atkawa7/httpsnippet

Download httpsnippet-parent

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.atkawa7/httpsnippet-parent/ -->
<dependency>
    <groupId>io.github.atkawa7</groupId>
    <artifactId>httpsnippet-parent</artifactId>
    <version>1.0.7</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.atkawa7/httpsnippet-parent/
implementation 'io.github.atkawa7:httpsnippet-parent:1.0.7'
// https://jarcasting.com/artifacts/io.github.atkawa7/httpsnippet-parent/
implementation ("io.github.atkawa7:httpsnippet-parent:1.0.7")
'io.github.atkawa7:httpsnippet-parent:pom:1.0.7'
<dependency org="io.github.atkawa7" name="httpsnippet-parent" rev="1.0.7">
  <artifact name="httpsnippet-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.github.atkawa7', module='httpsnippet-parent', version='1.0.7')
)
libraryDependencies += "io.github.atkawa7" % "httpsnippet-parent" % "1.0.7"
[io.github.atkawa7/httpsnippet-parent "1.0.7"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • httpsnippet

HTTP Snippet

License Coveralls github Codecov GitHub issues Travis (.org)

HTTP Snippet port for java. See the original node port. Supports many languages & tools including: cURL, HTTPie, Javascript, Node, C, Java, PHP, Objective-C, Swift, Python, Ruby, C#, Go, OCaml and more!

The motivation behind porting this is using it for generating snippets in swagger and redocs. The project is still in development phase.

  • Documentation
  • Tests
  • Releasing to maven

Usage

Enable maven snapshots in ~/.m2/settings.xml

<profiles>
  <profile>
     <id>allow-snapshots</id>
        <activation><activeByDefault>true</activeByDefault></activation>
     <repositories>
       <repository>
         <id>snapshots-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <releases><enabled>false</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
     </repositories>
   </profile>
</profiles>

Then add this dependency to pom.xml

<dependency>
     <groupId>io.github.atkawa7</groupId>
     <artifactId>httpsnippet</artifactId>
     <version>0.0.1-SNAPSHOT</version>
</dependency>

Here is the code for generating snippet

public class Main {
     public static void main(String[] args) throws Exception {
         List<HarHeader> headers = new ArrayList<>();
         List<HarQueryString> queryStrings = new ArrayList<>();
 
         User user = new User();
         Faker faker = new Faker();
         user.setFirstName(faker.name().firstName());
         user.setLastName(faker.name().lastName());
 
 
         HarPostData harPostData =
                 new HarPostDataBuilder()
                         .withMimeType(MediaType.APPLICATION_JSON)
                         .withText(ObjectUtils.writeValueAsString(user)).build();
 
         HarRequest harRequest =
                 new HarRequestBuilder()
                         .withMethod(HttpMethod.GET.toString())
                         .withUrl("http://localhost:5000/users")
                         .withHeaders(headers)
                         .withQueryString(queryStrings)
                         .withHttpVersion(HttpVersion.HTTP_1_1.toString())
                         .withPostData(harPostData)
                         .build();
 
         //Using default client
         HttpSnippet httpSnippet = new HttpSnippetCodeGenerator().snippet(harRequest, Language.JAVA);
         System.out.println(httpSnippet.getCode());
 
         //Or directly using
         String code   = new OkHttp().code(harRequest);
         System.out.println(code);
 
     }
 
     @Data
     static class User {
         private String firstName;
         private String lastName;
     }
 }

The result

HttpResponse<String> response = Unirest.get("http://localhost:5000/users")
  .body("{\"firstName\":\"Burton\",\"lastName\":\"Greenholt\"}")
  .asString();

Running the demo application

mvn clean install
java -jar httpsnippet-demo/target/httpsnippet-demo-0.0.1-SNAPSHOT.jar

After running the demo here are the results

Alt text

Alt text

License

Apache 2.0 © atkawa7

Versions

Version
1.0.7