3.8 KiB
3.8 KiB
Extras
-
parsing json using jackson https://mkyong.com/java/jackson-how-to-parse-json/ How to parse JSON string with Jackson - Mkyong.com.pdf How to parse JSON string with Jackson - Mkyong.com (22_9_2024 8_29_12 am).html
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.json.*; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @SpringBootApplication public class DemoApplication { public static void main(String[] args) throws Exception{ SpringApplication.run(DemoApplication.class, args); ObjectMapper objectMapper= new ObjectMapper(); JsonNode obj=objectMapper.readTree("[\"java is oops\", \"java is not oops\", \"java is annoying\"]"); if(obj.isArray()){ for(int i=0;i<obj.size();i++){ System.out.println(obj.get(i).asText()); } } } } -
for json array to
List<String>import com.fasterxml.jackson.databind.ObjectMapper; List<String> options= objmapper.readValue(q.getOptions(), objmapper.getTypeFactory().constructCollectionType(List.class, String.class)); -
spring cors https://spring.io/guides/gs/rest-service-cors
package com.example.restservicecors; import java.util.concurrent.atomic.AtomicLong; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class GreetingController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @CrossOrigin(origins = "http://localhost:9000") @GetMapping("/greeting") public Greeting greeting(@RequestParam(required = false, defaultValue = "World") String name) { System.out.println("==== get greeting ===="); return new Greeting(counter.incrementAndGet(), String.format(template, name)); } }
Array.map equivalent in java
List<Integer> correctOptions = questionsResponses.stream().map(questionsResponse-> questionsResponse.getCorrectOptionNumber()).toList();
- converting biginteger into int
int questionID = ((BigInteger) questionResponseMap.get("questionID")).intValue(); - when using dependency
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
by default it adds authentication layer for accessing rest api, if that is not needed then it can be disabled by adding following bean
package com.example.demo; // Adjust the package name as needed
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().permitAll() // Allow all requests
.and()
.csrf().disable(); // Optionally disable CSRF protection
return http.build();
}
}
- configure PORT
https://www.baeldung.com/spring-boot-change-port
in application.properties
server.PORT=8081